身份证,联系电话,邮箱,网址,邮编,传真号码,MSN,国籍和身份证,QQ和电话校验

来源:互联网 发布:网络语cp 编辑:程序博客网 时间:2024/04/27 23:18
身份证校验
function idnoCheck(idcard,refcomp){
    if(!idcard){
        return true;
    }
    if(Horn.getComp(refcomp).getValue() == "0"){
        if(!(idcard.length==15 || idcard.length==18)){
           return "身份证号码位数必须为15或18" ;
        }
        var ret = "身份证校验失败" ;
        var a = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
        var b = ['1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2'];
        if (!/^\d{15}$/.test(idcard)
                && !/^\d{17}[\d x X]$/.test(idcard)) {
            return ret;
        }
        var subValue = (idcard.length == 15) ? "19"
                + idcard.slice(6, 15) : idcard.slice(6, 17);
        // 获取出生年月日
        var year = parseInt(subValue.slice(0, 4), 10);
        var month = parseInt(subValue.slice(4, 6), 10);
        var day = parseInt(subValue.slice(6, 8), 10);
        var date = new Date(year, month, day);
        // 是否为正确日期(比较输入和转换后的日期)
        if (date.getFullYear() != year && date.getMonth() != month
                && date.getDate() != day) {
            return ret;
        };
        if (idcard.length == 18) {
            var sum = 0;
            for (var i = 0; i <= 16; i++) {
                sum += idcard.charAt(i) * a[i];
            }
            var index = sum % 11;
            var value = b[index];
            // 18 位验证码不对
            if (idcard.slice(17, 18).toLowerCase() != value
                    .toLowerCase()) {
                return ret;
            }
        }
        return true;
    }else{
        return true;
    }

}



联系电话校验
function mobileTelCheck(mobileTel, refcomp){
    //var pattern=/(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/;
    var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,4}[0-9]{3,7}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$)|(^0{0,1}1[2|3|4|5|6|7|8|9][0-9]{9}$)/;
    if(pattern.test(mobileTel)) {
        return true;
    } else {
        return "必须是固定电话或手机号码";
    }

}




联系电话校验2
function mobileTelCheck1(mobileTel, refcomp){
    var pattern=/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/;
    if(/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(mobileTel)||/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(mobileTel)) {
        return true;
    } else {
        return "必须是固定电话或手机号码";
    }
}

String.prototype.Trim = function() {
    var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/);
    return (m == null) ? "" : m[1];
}
String.prototype.isMobile = function() {
    return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
}
String.prototype.isTel = function(){
    //"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
    //return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
    return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
}




邮箱校验
function emailCheck(email, refcomp){
    //var pattern = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
    var pattern = /^([a-zA-Z0-9]+[_|\_|\.|-|\-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.|-|\-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
    if(pattern.test(email)){
         return true;
    }else{
        return "邮箱校验失败";
    }

}



网址校验
function urlCheck(url, refcomp) {
    var pattern = "^((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(pattern);
    if (re.test(url)){
        return true;
    }else{
        return "网址校验失败";
    }

}



邮编校验
function zipCodeCheck(zipcode) {
    var pattern = /^[1-9][0-9]{5}$/;
    if(pattern.test(zipcode)){
         return true;
    }else{
        return "邮编校验失败";
    }

}



传真号码校验
function faxCheck(fax) {
    //国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)
    var pattern = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
    if(pattern.test(fax)){
         return true;
    }else{
        return "必须是'区号-电话号码',例如:027-86731234";
    }

}



MSN校验
function msnCheck(msn) {
    var pattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
    if(pattern.test(msn)){
         return true;
    }else{
        return "MSN校验失败";
    }
}
资金校验
function fundCheck(fund) {
    var pattern = /^\d+\.?\d*$/;
    if(pattern.test(fund)){
         return true;
    }else{
        return "必须是纯数字或者带小数点的数字,例如:100或者100.00";
    }
}

国籍和身份证的校验
function nationalityChange(that){
    var val1 = Horn.Field.get(that).getValue();
    var val2 = Horn.Field.getValue('clientInfo.id_kind');
    if(!val2){
        return;
    }
    if( ((val1 == "CHN") && ("1GHIQRS".indexOf(val2) >= 0))  ||  ((val1 != "CHN") && ("1GHIQRS".indexOf(val2) < 0 ))){
        alert("国籍与证件类别不匹配!");
        if(val2=='0'){
            Horn.Field.get(that).setValue("CHN");
        }else{
            Horn.Field.get(that).setValue("");
        }
    }

}

固定电话校验

function phoneTelCheck(mobileTel){
    var pattern=/^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}(-(\d{3,}))?$/;
    if(pattern.test(mobileTel)) {
        return true;
    } else {
        return "必须是固定电话";
    }
}


QQ校验

function QQcheck(str){
     var badChar= "0123456789";
    for(var i=0;i<str.length;i++){
        var c = str.charAt(i);//字符串str中的字符
        if(badChar.indexOf(c) > -1){
            
        }else{
            return "输入非法,不是数字";
        }
    }
    return true;
}



0 0