常用到的一些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

  1 var com = com || {};
  2 (function ($, com) {
  3     /**
  4     * 截取字符串
  5     * @param str:要截取的字符串
  6     * @param len:保留多少字符
  7     * @param symbol:超过之后字符串末端要添加的字符
  8     */
  9     com.cutStr = function (str, len, symbol) {
 10         str = str || "";
 11         if (symbol == null || symbol == undefined)
 12             symbol = "...";
 13 
 14         var count = 0;
 15         var strTemp = "";
 16         for (var i = 0; i < str.length; i++) {
 17             if (/[^\x00-\xff]/g.test(str.substr(i, 1))) {
 18                 count += 2;
 19             }
 20             else {
 21                 count += 1;
 22             }
 23             if (count <= len) {
 24                 strTemp += str.substr(i, 1);
 25             }
 26             else {
 27                 return strTemp + symbol;
 28             }
 29         }
 30         return str;
 31     },
 32     /*
 33     * 将日期字符串转化为Date
 34     * (如:将"2016-12-24 20:13:14"转化为Date格式)
 35     * @param d:待转化字符串(传入的时间不能有毫秒)
 36     */
 37     com.getDate = function (d) {
 38         //部分浏览器(IE)不支持日期格式“yyyy-MM-dd hh:mm:ss”,必须将“-”转化为“/”
 39         var date = new Date(Date.parse(d.replace(/-/g, "/")));
 40         return date;
 41     },
 42     /*
 43     * 获取html代码的纯文本
 44     * @param html
 45     */
 46     com.removeHTMLTag = function (html) {
 47         html = html.replace(/<\/?[^>]*>/g, ''); //去除HTML tag
 48         html = html.replace(/[ | ]*\n/g, '\n'); //去除行尾空白
 49         //html = html.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
 50         html = html.replace(/&nbsp;/ig, '');//去掉&nbsp;
 51         html = html.replace(/\s/g, ''); //将空格去掉
 52         return html;
 53     },
 54     /*
 55     * 获取地址栏参数
 56     * @param 参数名
 57     */
 58     com.getQueryString = function (name) {
 59         var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
 60         var r = window.location.search.substr(1).match(reg);
 61         if (r != null) return (r[2]); return null;
 62     },
 63 
 64     /**************************************************************
 65     *将金额转化为大写
 66     *   str:需要转化的金额
 67     ****************************************************************/
 68     com.convertMoney = function (n) {
 69         var fraction = ['角', '分', '毫', '厘'];
 70         var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
 71         var unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
 72         var cnInteger = "整"; //整数金额时后面跟的字符
 73         var cnIntLast = "元"; //整型完以后的单位
 74         var maxNum = 9999999999999.9999;
 75         var head = n < 0 ? '负' : '';
 76         //取绝对值
 77         n = Math.abs(n);
 78         if (n >= maxNum) {
 79             console.error("金额转化超出最大处理数字");
 80             return "";
 81         }
 82 
 83         var IntegerNum; //金额整数部分  
 84         var DecimalNum; //金额小数部分
 85         var money = n.toString();
 86         if (money.indexOf(".") == -1) {
 87             IntegerNum = money;
 88             DecimalNum = '';
 89         } else {
 90             var parts = money.split(".");
 91             IntegerNum = parts[0];
 92             DecimalNum = parts[1].substr(0, 4);
 93         }
 94 
 95         var ChineseStr = "";
 96 
 97         //小数部分
 98         if (DecimalNum != '') {
 99             for (i = 0; i < DecimalNum.length; i++) {
100                 var m = DecimalNum.substr(i, 1);
101                 if (m != '0') {
102                     ChineseStr += digit[Number(m)] + fraction[i];
103                 }
104             }
105         }
106 
107         IntegerNum = IntegerNum * 1;
108 
109         //整数部分
110         for (var i = 0; i < unit[0].length && IntegerNum > 0; i++) {
111             var p = '';
112             for (var j = 0; j < unit[1].length && IntegerNum > 0; j++) {
113                 p = digit[IntegerNum % 10] + unit[1][j] + p;
114                 IntegerNum = Math.floor(IntegerNum / 10);
115             }
116             ChineseStr = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + ChineseStr;
117         }
118 
119         if (ChineseStr == '') {
120             ChineseStr += digit[0] + cnIntLast + cnInteger;
121         } else if (DecimalNum == '') {
122             ChineseStr += cnInteger;
123         }
124         ChineseStr = head + ChineseStr;
125         return ChineseStr;
126     },
127 
128     /**
129     * 获取字符串长度(一个汉字占两个字符)
130     * @param str:字符串
131     */
132     com.getStringLength = function (str) {
133         return str.replace(/[^\x00-\xff]/g, "00").length;
134     }
135 
136 })(jQuery, com);

 

posted @ 2017-07-05 17:55  Hi.wz  阅读(318)  评论(1编辑  收藏  举报