常用到的一些js方法,记录一下
获取字符串长度
function GetStringLength(str) {
return str.replace(/[^\x00-\xff]/g, "00").length;
}
通过js对html转义和反转义
function HTMLEncode(html) {
var temp = document.createElement("div");
(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
var output = temp.innerHTML;
temp = null;
return output;
}
function HTMLDecode(text) {
var temp = document.createElement("div");
temp.innerHTML = text;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
}
一些公用的js
var com = com || {};
(function ($, com) {
/**
* 截取字符串
* @param str:要截取的字符串
* @param len:保留多少字符
* @param symbol:超过之后字符串末端要添加的字符
*/
com.cutStr = function (str, len, symbol) {
str = str || "";
if (symbol == null || symbol == undefined)
symbol = "...";
var count = 0;
var strTemp = "";
for (var i = 0; i < str.length; i++) {
if (/[^\x00-\xff]/g.test(str.substr(i, 1))) {
count += 2;
}
else {
count += 1;
}
if (count <= len) {
strTemp += str.substr(i, 1);
}
else {
return strTemp + symbol;
}
}
return str;
},
/*
* 将日期字符串转化为Date
* (如:将"2016-12-24 20:13:14"转化为Date格式)
* @param d:待转化字符串(传入的时间不能有毫秒)
*/
com.getDate = function (d) {
//部分浏览器(IE)不支持日期格式“yyyy-MM-dd hh:mm:ss”,必须将“-”转化为“/”
var date = new Date(Date.parse(d.replace(/-/g, "/")));
return date;
},
/*
* 获取html代码的纯文本
* @param html
*/
com.removeHTMLTag = function (html) {
html = html.replace(/<\/?[^>]*>/g, ''); //去除HTML tag
html = html.replace(/[ | ]*\n/g, '\n'); //去除行尾空白
//html = html.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
html = html.replace(/ /ig, '');//去掉
html = html.replace(/\s/g, ''); //将空格去掉
return html;
},
/*
* 获取地址栏参数
* @param 参数名
*/
com.getQueryString = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return (r[2]); return null;
},
/**************************************************************
*将金额转化为大写
* str:需要转化的金额
****************************************************************/
com.convertMoney = function (n) {
var fraction = ['角', '分', '毫', '厘'];
var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
var unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
var cnInteger = "整"; //整数金额时后面跟的字符
var cnIntLast = "元"; //整型完以后的单位
var maxNum = 9999999999999.9999;
var head = n < 0 ? '负' : '';
//取绝对值
n = Math.abs(n);
if (n >= maxNum) {
console.error("金额转化超出最大处理数字");
return "";
}
var IntegerNum; //金额整数部分
var DecimalNum; //金额小数部分
var money = n.toString();
if (money.indexOf(".") == -1) {
IntegerNum = money;
DecimalNum = '';
} else {
var parts = money.split(".");
IntegerNum = parts[0];
DecimalNum = parts[1].substr(0, 4);
}
var ChineseStr = "";
//小数部分
if (DecimalNum != '') {
for (i = 0; i < DecimalNum.length; i++) {
var m = DecimalNum.substr(i, 1);
if (m != '0') {
ChineseStr += digit[Number(m)] + fraction[i];
}
}
}
IntegerNum = IntegerNum * 1;
//整数部分
for (var i = 0; i < unit[0].length && IntegerNum > 0; i++) {
var p = '';
for (var j = 0; j < unit[1].length && IntegerNum > 0; j++) {
p = digit[IntegerNum % 10] + unit[1][j] + p;
IntegerNum = Math.floor(IntegerNum / 10);
}
ChineseStr = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + ChineseStr;
}
if (ChineseStr == '') {
ChineseStr += digit[0] + cnIntLast + cnInteger;
} else if (DecimalNum == '') {
ChineseStr += cnInteger;
}
ChineseStr = head + ChineseStr;
return ChineseStr;
},
/**
* 获取字符串长度(一个汉字占两个字符)
* @param str:字符串
*/
com.getStringLength = function (str) {
return str.replace(/[^\x00-\xff]/g, "00").length;
}
})(jQuery, com);
常用到的一些js方法,记录一下的更多相关文章
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
.net mvc 站点自带简易SSL加密传输 因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...
- unigui结合JS方法记录
在js中界面上所有组件都当成html里来控制 .控制按钮事件 document.getElementById(MainForm.UniButton4.getId()).click(); 这个方法让J ...
- Dynamics CRM 常用 JS 方法集合
JS部分 拿到字段的值 var value= Xrm.Page.getAttribute("attributename").getValue(); Xrm.Page.getAttr ...
- js实用方法记录-指不定哪天就会用到的js方法
js实用方法记录-指不定哪天就会用到的js方法 常用或者不常用都有 判断是否在微信浏览器中 测试代码:isWeiXin()==false /** * 是否在微信中 */ function isWeix ...
- 常用js方法封装
常用js方法封装 var myJs = { /* * 格式化日期 * @param dt 日期对象 * @returns {string} 返回值是格式化的字符串日期 */ getDates: fun ...
- 常用js方法
function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...
- 常用js方法整理common.js
项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...
- 项目中常用js方法整理common.js
抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...
- js实用方法记录-js动态加载css、js脚本文件
js实用方法记录-动态加载css/js 附送一个加载iframe,h5打开app代码 1. 动态加载js文件到head标签并执行回调 方法调用:dynamicLoadJs('http://www.yi ...
随机推荐
- Java的三种多线程
项目结构 继承Thread类 /* * Thread类实现了Runnable接口 */ public class MyThread extends Thread { @Override public ...
- iOS - push 或 pop或点击导航栏返回pop指定导航控制器
以前一直有个很疑惑的问题没有搞清楚 关于ios中 viewcontroller的跳转问题,其中有一种方式是采用navigationController pushViewController 的方法,比 ...
- 1. Spring boot 之热部署
1. spring boot 热部署 1.1. springloaded springloaded可以实现修改类文件的热部署.下载地址:springloaded 安装单击Run Configurati ...
- jquery源码学习-构造函数(2)
最近几天一直在研究jquery源码,由于水平太低看得昏头转向.本来理解的也不是很深刻,下面就用自己的想法来说下jquery是如何定义构造函数初始化的.如果有什么不对的地方,希望个位高手指出. 一般写 ...
- ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型
今天遇到varchar2类型数据不够大,需改为clob类型.Oracle中,如果一个列的类型为varchar2,那么它不能直接转换为clob类型.可以通过间接的方式来修改. 就是把原来的字段删掉,重新 ...
- springMVC使用@RequestParam用于处理简单类型的绑定
使用@RequestParam常用于处理简单类型的绑定. value:参数名字,即入参的请求参数名字,如value=“item_id”表示请求的参数区中的名字为item_id的参数的值将传入: req ...
- Spring框架的AOP的底层实现
1. Srping框架的AOP技术底层也是采用的代理技术,代理的方式提供了两种 1. 基于JDK的动态代理 * 必须是面向接口的,只有实现了具体接口的类才能生成代理对象 2. 基于CGLIB动态代理 ...
- PAT 1015 德才论 (25)(代码+思路)
1015 德才论 (25)(25 分)提问 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子, ...
- Codeforces 660A. Co-prime Array 最大公约数
A. Co-prime Array time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- rsyncd.conf
rsyncd.conf 28 Jan 2018 rsyncd.conf(5) 28 Jan 2018 NAME rsyncd.conf - configuration file for rsync i ...