微信扫一扫,找我合作
扫一扫,预览移动版

常用工具函数总结


 1、将中文替换为指定的内容

    function formateStrin(str) {
        return str.replace(/([^u0000-u00FF])/g, function(match, key) {
            console.log(111)
            return "/"
        })
    };
    formateStrin("我的123你是")////123/


2、获取url问号后面指定的值

	function getQueryString(name) {
      	   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
           var r = window.location.search.substr(1).match(reg);
           if (r != null) {
              return unescape(decodeURI(r[2]))
           };
           return null;
      }


3、获取相对当前未来或以前的时间

	
    /**
	 * 计算未来天数或以前的日期,相对当前日期
	 * @param {Number} num 未来天数传正数,以前天数传负数
	 * @param {String} chars 特殊字符 /  -
	 */
	function getRelativeTime(num, chars) {
	   num = num || 0;
	   chars = chars || "";
	   var nowDate = new Date();
	   nowDate.setDate(nowDate.getDate() + num);
	   var month = (nowDate.getMonth()+1).toString();
	   var date = (nowDate.getDate()).toString();
	   
	   return nowDate.getFullYear() + chars + (
			month.length === 2 ? month : "0" + month
	   ) + chars + (
			date.length === 2 ? date : "0" + date
	   );
	};


4、js正则去除字符串所有的空格和首尾空格

    /**
	 * 去除所有的空格
	 */
    function clearAllSpace (str) {
         if(typeof str === 'string') {
             return str.replace(/s+/g, '');
         }
         return str;
     }

        /**
	 * 去除首尾的空格
	 */
    function clearSESpace (str) {
         if(typeof str === 'string') {
             return str.replace(/^s+|s+$/g, '');
         }
         return str;
     }


5、获取当前时间,格式化

    /**
     * 格式化时间原型方法
     * @param {String} fmt yyyy-MM-dd | yyyy-MM-dd hh:mm:ss
     */
    Date.prototype.Format = function (fmt) {
        var o = {
          "M+": this.getMonth() + 1, // 月份
          "d+": this.getDate(), // 日
          "h+": this.getHours(), // 小时
          "m+": this.getMinutes(), // 分
          "s+": this.getSeconds(), // 秒
          "q+": Math.floor((this.getMonth() + 3) / 3), // 季度
          "S": this.getMilliseconds() // 毫秒
        };
        if (/(y+)/.test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        }
    
    
        for (let k in o) {
            if (new RegExp("(" + k + ")").test(fmt)) {
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            }
        }
        return fmt;
      }


6、特殊字符正则校验:

  function specialChars(val) {
    return new RegExp("[`~!%@#$^&*()-/_=·|{}':;',\[\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]").test(val)  
  }


7、随机生成32位uuid:

  let uuid = ()=> {
      var s = [];
      var hexDigits = "0123456789abcdef" + (new Date()).getTime().toString(16);
      for (var i = 0; i < 32; i++) {
          s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
      }
      var uuid = s.join('').toUpperCase();
      return uuid;
  };


8、js去除字符串拼接末尾逗号

使用正则表达式:str.replace(/,$/gi, "")


9、自定义去除首尾空格

function trim(str){
  return str.replace(/(^\s*)|(\s*$)/g, "");
  }
阅读量(1652+)
点赞(1652)
评论列表
我要评论