关于常用的正则验证的js

//js的String和number类型的转换。

变量+""  转字符串  如果是字符串  *1 转number
//输入验证
function chkkeyup(obj,regex){
    var t = obj.value.replace(regex,"");
    if(obj.value!=t)
        obj.value=t;
}
//验证单选按钮是否被选中:name-单选按钮名
function chkRadio(name) {
    if($("input[type='radio'][name='" + name + "']:checked").val()) {
        return true;
    } else {
        alert("有单选按钮未被选中");
    }
    return false;
}

//验证复选按钮是否被选中:name-复选按钮名
function chkCheckbox(name) {
    if($("input[type='checkbox'][name='" + name + "']:checked").length) {
        return true;
    } else {
        alert("有复选框未被选择");
    }
    return false;
}

//手机号码验证
function chkPhone(obj) {
    if("" != trim($(obj).val())) {
        var regex = /^1[3|4|5|8][0-9]\d{4,8}$/gi;
        var result = regex.test(trim($(obj).val()));
        if(result) {
            return true;
        } else {
            alert("输入手机号码格式有误!");

            return false;
        }
    }
    return false;
}

//验证电话号码格式
function chkTelPhone(obj) {
    if("" != trim($(obj).val())) {
        var regex = /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/gi;
        var result = regex.test($(obj).val());
        if(result) {
            return true;
        } else {
            alert("输入固定电话号码格式有误!");

            return false;
        }
    }
    return false;
}
//验证电话号码格式
function chkFaxPhone(obj) {
    if("" != trim($(obj).val())) {
        var regex = /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/gi;
        var result = regex.test($(obj).val());
        if(result) {
            return true;
        } else {
            alert("输入传真电话号码格式有误!");

            return false;
        }
    }else{
        alert("请输入您的手机号");
        return false;
    }

}

//验证Email
function chkEmail(obj, len) {
    if("" != trim($(obj).val())) {
        regex = /^([a-zA-Z]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/gi;
        var result = regex.test(trim($(obj).val()));
        if(result && $(obj).val().length <= len) {
            return true;
        } else if($(obj).val().length > len) {
            alert("输入邮箱长度错误!");

            return false;
        } else {
            alert("电子邮箱格式错误!");

            return false;
        }
    }else{
        alert("请输入电子邮箱");
        return false;
    }

}

//名字验证
function chkName(obj, len) {
    if("" != trim($(obj).val())) {
        var regex = /^[\u4e00-\u9fa5a-zA-Z0-9\s]+$/gi;
        var result = regex.test($(obj).val());
        if(result && $(obj).val().length <= len) {
            return true;
        } else if($(obj).val().length > len) {
            alert("输入信息长度错误!");

            return false;
        } else {
            alert("输入数据有非法字符!");

            return false;
        }
    }else{
        return false;
    }

}

//用户名验证
function chkUserName(obj, len) {
    if("" != trim($(obj).val())) {
        var regex = /^[0-9a-zA-Z_]+$/gi;
        var result = regex.test($(obj).val());
        if(result && $(obj).val().length <= len) {
            return true;
        } else if($(obj).val().length > len) {
            alert("输入信息长度错误!");

            return false;
        } else {
            alert("输入数据有非法字符!");

            return false;
        }
    }
    return false;
}

//密码验证
function chkPassword(obj, len) {
    if("" != trim($(obj).val())) {
        if(6 <= $(obj).val().length && $(obj).val().length <= len) {
            var regex = /^[a-zA-Z0-9!@#$%^&*()-_+=\[\]{}<>\/,.?]+$/gi;
            var result = regex.test($(obj).val());
            if(result) {
                return true;
            } else {
                alert("输入数据有非法字符!");

                return false;
            }
        } else {
            alert("输入数据长度有误!");

        }
    }
    return false;
}

//浮点数验证
function chkFloat(obj) {
    if("" != trim($(obj).val())) {
        var regex = /^([0-9]\.\d+|[1-9]+\.?\d+|[0-9])+$/gi;
        var result = regex.test(trim($(obj).val()));
        if(result) {
            if($(obj).val()<=0){
                alert("请输入合理数据!");
                return false;
            }
            return true;
        } else {
            alert("输入数据格式不正确!");
            return false;
        }
    }else{
        return false;
    }

}


//验证整数
function chkInt(obj) {
    if("" != trim($(obj).val())) {
        var regex = /^-?[0-9]\d*$/gi;
        var result = regex.test(trim($(obj).val()));
        if(result) {
            if($(obj).val()<=0){
                alert("请输入合理数据!");
                return false;
            }
            return true;
        } else {
            alert("输入的数字不合法!");

            return false;
        }
    }else{
        return false;
    }

}

//年龄验证
function chkAge(obj) {
    if("" != $(obj).val() && chkInt(obj)) {
        if(0 < $(obj).val() && $(obj).val() < 120) {
            return true;
        } else {
            alert("您填写的信息不正确!");

        }
    }else{
        return false;
    }

}

//URL验证
function chkURL(obj, len) {
    var str = "^((https|http|ftp|rtsp|mms)?://)"  
        + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@  
        + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184  
        + "|" // 允许IP和DOMAIN(域名) 
        + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.  
        + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名  
        + "[a-z]{2,6})" // first level domain- .com or .museum  
        + "(:[0-9]{1,4})?" // 端口- :80  
        + "((/?)|" // a slash isn't required if there is no file name  
        + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";  

    if("" != $(obj).val()) {
        var regex = new RegExp(str);
        var result = regex.test($(obj).val());
        if(result) {
            return true;
        } else {
            alert("输入的URL地址信息有误!");

            return false;
        }
    }
    return false;

}

function chkWeibo(obj, len) {
    return true;
}

//QQ号验证
function chkQQ(obj) {
    if("" != $(obj).val()) {
        var regex = /^[1-9]\d{4,9}$/gi;
        var result = regex.test($(obj).val());
        if(result) {
            return true;
        } else {
            alert("输入QQ号有误!");

            return false;
        }
    }else{
        alert("请输入您的QQ");
        return false;
    }

}

//利率验证
function chkRate(obj) {
    if("" != $(obj).val() && chkFloat(obj)) {
        if(0 <= $(obj).val() && $(obj).val() < 100) {
            return true;
        } else {
            alert("输入数据不正确!");

            return false;
        }
    }else{
        return false;
    }

}


//内容长度验证
function chkContentLen(obj,maxLen,minLen){
    if(trim($(obj).val()) == ""){
        alert("请输入内容!");
        return false;
    }

    else if($(obj).val().replace(/[^\x00-\xff]/g,"**").length < minLen){
        alert("您输入的内容太短了,请完善一下吧!");
        return false;
    }
    else if($(obj).val().replace(/[^\x00-\xff]/g,"**").length > maxLen){
        alert("内容最多1000字哦!");
        return false;
    }
    return true;
}

//标题长度验证
function chkTitleLen(obj,maxLen,minLen){
    if($(obj).val() == ""){
        alert("请输入标题名称!");
        return false;
    }

    else if($(obj).val().replace(/[^\x00-\xff]/g,"**").length < minLen){
        alert("您输入的标题名称太短了,请完善一下吧!");
        return false;
    }
    else if($(obj).val().replace(/[^\x00-\xff]/g,"**").length > maxLen){
        alert("标题名称最多" + maxLen + "字哦!");
        return false;
    }
    return true;
}

//机构名称长度验证
function chkInstitutionLen(obj,maxLen,minLen){
    if($(obj).val() == ""){
        alert("请输入机构名称!");
        return false;
    }

    else if($(obj).val().replace(/[^\x00-\xff]/g,"**").length < minLen){
        alert("您输入的机构名称太短了,请完善一下吧!");
        return false;
    }
    else if($(obj).val().replace(/[^\x00-\xff]/g,"**").length > maxLen){
        alert("机构名称最多" + maxLen + "字哦!");
        return false;
    }
    return true;
}

//===================================罗立炎补充
/**
 * 判断身份证号
 */
function IdentityCodeValid(code) { 
    var city={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北 ",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外 "};
    var tip = "";
    var pass= true;

    if (!code || !/^[1-9][0-9]{5}(19[0-9]{2}|200[0-9]|2010)(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9xX]$/i.test(code)){
        tip = "身份证号格式错误";
        pass = false;
    }

   else if(!city[code.substr(0,2)]){
        tip = "地址编码错误";
        pass = false;
    }
    else{
        //18位身份证需要验证最后一位校验位
        /*if(code.length == 18){
            code = code.split('');
            //∑(ai×Wi)(mod 11)
            //加权因子
            var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];
            //校验位
            var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];
            var sum = 0;
            var ai = 0;
            var wi = 0;
            for (var i = 0; i < 17; i++)
            {
                ai = code[i];
                wi = factor[i];
                sum += ai * wi;
            }
            var last = parity[sum % 11];
            if(parity[sum % 11] != code[17]){
                tip = "您的身份证号不是有效的号码";
                pass =false;
            }
        }*/
    }
    if(!pass) alert(tip);
    return pass;
}  
//去掉字符串头尾空格   

//去除字符两端空格
function trim(str) {   
  if (str != null) {  
      var i;   
      for (i=0; i<str.length; i++) {  
          if (str.charAt(i)!=" ") {  
              str=str.substring(i,str.length);   
              break;  
          }   
      }   

      for (i=str.length-1; i>=0; i--) {  
          if (str.charAt(i)!=" ") {  
              str=str.substring(0,i+1);   
              break;  
          }   
      }   

      if (str.charAt(0)==" ") {  
          return "";   
      } else {  
          return str;   
      }  
  }  
}   

//验证Email
function chkYZEmail(obj) {
    if("" != trim(trim($(obj).val()))) {
        regex = /^([a-zA-Z]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/gi;
        var result = regex.test($(obj).val());
        if(result){
            return false;
        }
    }
    return false;
}

//用户名验证
function chkUserNameNEW(obj, len) {
    if("" != trim($(obj).val())) {
        var regex = /^[0-9a-zA-Z@._]+$/gi;
        var result = regex.test($(obj).val());
        if(result && $(obj).val().length <= len) {
            return true;
        } else if($(obj).val().length > len) {
            alert("输入信息长度错误!");

            return false;
        } else {
            alert("输入数据有非法字符!");

            return false;
        }
    }
    return false;
}

//用户名验证
function chkInstiutionNew(obj, len) {
    if("" != trim($(obj).val())) {
        var regex = /^[0-9a-zA-Z-]+$/gi;
        var result = regex.test($(obj).val());
        if(result && $(obj).val().length <= len) {
            return true;
        } else if($(obj).val().length > len) {
            alert("输入信息长度错误!");

            return false;
        } else {
            alert("输入数据有非法字符!");

            return false;
        }
    }
    return false;
}


//带有特殊字符文本验证
function chkTextNews(obj, len) {
    if("" != trim($(obj).val())) {
        var regex = /^[\u4e00-\u9fa5a-zA-Z0-9@-\\,\\.\\,\\。\\、\s]+$/gi;
        var result = regex.test($(obj).val());
        if(result && $(obj).val().length <= len) {
            return true;
        } else if($(obj).val().length > len) {
            alert("输入信息长度错误!");

            return false;
        } else {
            alert("输入数据有非法字符!");

            return false;
        }
    }else{
        alert("输入信息!");
    }
}

//验证全文和简介特殊字符
//带有特殊字符文本验证
function chkText_Abstract(obj,len) {
    if("" != trim($(obj).val())) {
        if($(obj).val().replace(/[^\x00-\xff]/g,"**").length > len){
            alert("输入信息长度有误");
            $(obj).focus();
            return false;
        }
        var regex = /^[\u4e00-\u9fa5a-zA-Z0-9@-\\,\\.\\,\\。\\(\\)\\)\\(\\、\s]+$/gi;
        var result = regex.test($(obj).val());
        if(result) {
            return true;
        }else {
            alert("输入数据有非法字符!");
            $(obj).focus();
            return false;
        }
    }
    return false;
}
//URL验证
function chkURLFriendly(str_url) {
    var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
        + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
        + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
        + "|" // 允许IP和DOMAIN(域名)
        + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
        + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
        + "[a-z]{2,6})" // first level domain- .com or .museum
        + "(:[0-9]{1,4})?" // 端口- :80
        + "((/?)|" // a slash isn't required if there is no file name
        + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
    var re=new RegExp(strRegex);
    if (re.test(str_url)){
        return true;
    }else{
        return false;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值