/*==========================================================数字类验证============================*/
/**
 * 限制输入两位小数以内的数字
 * @param {obj} obj input Dom
 */
function clearNoNum(obj){ 
    obj.value = obj.value.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符  
    obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的  
    obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); 
    obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数  
    if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 
        obj.value= parseFloat(obj.value); 
    } 
}

/**
 * 只允许输入大于0的正整数
 * @param {obj} self 
 */
function onlyInt(self){
    var num = self.value;
    num = num.replace(/[^\d]/g,"");  //清除“数字”和“.”以外的字符  
    num = parseInt(num)
    if(isNaN(num)){
        num = ''
    }
    self.value = num

}
//只允许数字
function only_num(self){
    self.value=self.value.replace(/\D/g,'');
    self.value=self.value.replace(/^[0]+[0-9]*$/gi,'');
}
//只允许数字 排除 dg 参数的数字
function only_num(self,dg){
    if(dg==undefined) dg='';
    dg=dg.toString();
    self.value=self.value.replace(/\D/g,'');
    self.value=self.value.replace(/^[0]+[0-9]*$/gi,dg);
}

/*===============================================================字符串类验证==================*/
//    字符串特殊字符判断
function specialCharacters(token) {
    var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%]");
    var result = token.match(pattern);
    if(result){
        layer.msg("含有非法参数");
        return;
    }
}
// 特殊字符串替换
function specialCharactersRpl(self) {
    self.value=self.value.replace(/</g,'');
    self.value=self.value.replace(/>/g,'');
    self.value=self.value.replace(/'/g,'');
    self.value=self.value.replace(/"/g,'');
    self.value=self.value.replace(/\\/g,'');
    self.value=self.value.replace(/\//g,'');
    self.value=self.value.replace(/;/g,'');
    self.value=self.value.replace(/&/g,'');
    self.value=self.value.replace(/@/g,'');
    self.value=self.value.replace(/$/g,'');
    self.value=self.value.replace(/%/g,'');
    self.value=self.value.replace(' ','');
}
/*电话 手机号码验证*/
function phone(tel) {
    var isMob= /^1[345789]\d{9}$/;
    var isPhone =  /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
    var is400Phone =  /^400[0-9]{7}$/;
    if(isMob.test(tel)){
    }else{
        if(isPhone.test(tel)){
        }else{
            if(is400Phone.test(tel)){
            }else{
                return false;
            }
        }
    }
    return true;
}

//身份证正则表达式(15位)
isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
//身份证正则表达式(18位)
isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
身份证正则合并:(^\d{15}$)|(^\d{17}([0-9]|X)$)

提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)
提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}
提取信息中的中国邮政编码:[1-9]{1}(\d+){5}
提取信息中的中国身份证号码:\d{18}|\d{15}
提取信息中的整数:\d+
提取信息中的浮点数(即小数):(-?\d*)\.?\d+
提取信息中的任何数字 :(-?\d*)(\.\d+)?
提取信息中的中文字符串:[\u4e00-\u9fa5]*
提取信息中的双字节字符串 (汉字):[^\x00-\xff]*
Last modification:September 20th, 2019 at 03:06 pm
如果觉得我的文章对你有用,请随意赞赏