常用JS工具函数代码备忘


对用户输入进行HTML转义
    var _HTMLEscape = function(h) {
        if (h == null || h == undefined || h == '') {
            return h;
        }
        h = h.replace(/&/g, '&');
        h = h.replace(/\"/g, '"');
        h = h.replace(/</g, '&#60;');
        h = h.replace(/>/g, '&#62;');
        h = h.replace(/ /g, '&#160;');
        return h;
    }

对用户输入进行HTML反转义
    var _HTMLUnEscape = function(h) {
        if (h == null || h == undefined || h == '') {
            return h;
        }
        h = h.replace(/&(#38|amp);/g, '&');
        h = h.replace(/&(#34|quot);/g, '"');
        h = h.replace(/&(#60|lt);/g, '<');
        h = h.replace(/&(#62|gt);/g, '>');
        h = h.replace(/&(#160|nbsp);/g, ' ');
        return h;
    }

随机字符串生成
    var _randomString = function() {
        var t = 0, lowerCaseAlphabet = [ 'z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p', 'o', 'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a' ];
        do {
            t = Math.random();
        } while (t == 0);
        t = (t * (new Date().getTime()) + '').split('.').join('1');
        (function() {
            var temIndex = 0;
            for (var i = 0; i < 2; i++) {
                do {
                    temIndex = Math.random();
                } while (temIndex < 0 || temIndex >= 0.26);
                temIndex = parseInt(temIndex *= 100);
                t = lowerCaseAlphabet[temIndex] + t;
            }
        })();
        return t;
    };

格式化数字,n:要格式化的数字,p小数点位数
    var _formatNumberPrecision = function(n, p) {
        n = Number(n);
        p = Number(p);
        if (isNaN(n) || isNaN(p) || p < 0) {
            return Number('.');
        }
        return n.toFixed(p);
    };

得到一个两数之间的随机数
	var _getRandomArbitrary = function (min, max) {
	  return Math.random() * (max - min) + min; 
	}

得到一个两数之间的随机整数
	var _getRandomInt = function (min, max) {
	  min = Math.ceil(min);
	  max = Math.floor(max);
	  return Math.floor(Math.random() * (max - min)) + min; //不含最大值,含最小值
	}

得到一个两数之间的随机整数,包括两个数在内
	var _getRandomIntInclusive = function (min, max) {
	  min = Math.ceil(min);
	  max = Math.floor(max);
	  return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值 
	}

将url的搜索字符串转成对象
	/**
	 * 将url的搜索字符串转成对象
	 * @param search 一般直接传入location.search即可
	 * @returns {*}
	 * @private
	 */
	var _searchString2object = function (search) {
	    if (typeof  search !== 'string') { //传入值不为string类型,返回原值
	        return search;
	    }
	    search = search.trim();
	    if (search.length === 0) {
	        return search;
	    }
	    if (search.startsWith('?')) {
	        search = search.substring(1);
	    }
	    var searchItemArray = search.split('&');
	    var searchObject = {};
	    for (var i of searchItemArray) {
	        if (!i.startsWith('=')) {
	            var tem = i.split('=');
	            searchObject[decodeURIComponent(tem[0])] = decodeURIComponent(tem[1]);
	        }
	    }
	    return searchObject;
	}

将对象转成url的搜索字符串
	/**
	 * 将对象转成url的搜索字符串
	 * @param obj 必须为单层的对象
	 * @returns {string}
	 * @private
	 */
	var _object2searchString = function (obj) {
	    if (typeof obj !== 'object') { //传入非对象值,返回空字符串
	        return '';
	    }
	    var searchString = '';
	    for (var i in obj) {
	        searchString += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]) + '&';
	    }
	    if (searchString.endsWith('&')) {
	        searchString = searchString.substring(0, searchString.length - 1);
	    }
	    return searchString;
	}

原创不易,转帖请注明出处—ShiZhongqi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值