获取字符串长度

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(/&nbsp;/ig, '');//去掉&nbsp;
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);
05-11 10:54
查看更多