js验证

1.电话号码验证

function checktel(tel){
  //对电话号码的验证
 var phone = /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;//座机(0开头)
 var telep = /^1[3458]\d{9}$/; //手机
 var value = tel.substring(0,1);
 if(value==0){
   return phone.test(tel);

 }
 if(value==1){
  return telep.test(tel));
   }
 }
  
2.邮箱验证

/*对电子邮件的验证*/

function checkemail(email) {
      var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

       return myreg.test(email);
}

3.身份证验证

function checkidNumber(idcard) {
 idcard=idcard.toUpperCase();
 if (idcard == '') {
  idNumber_pass = false;
  alert("身份证号不能为空");
 } else {  
  idNumber_pass = true;
   
 }
 var area={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 retflag=false;
 var Y,JYM;
 var S,M;
 var idcard_array = new Array();
 idcard_array = idcard.split("");
   //地区检验
 if(area[parseInt(idcard.substr(0,2))]==null){
    idNumber_pass = false;
    alert("身份证地区非法!");
 };
   //身份号码位数及格式检验
 switch(idcard.length){
 case 15:
   if ((parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr

(6,2))+1900) % 4 == 0 )){
    ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-

9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
   } else {
    ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-

9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
   }
   if(ereg.test(idcard)) {
   idNumber_pass = true;
   
   }
   else
   {
    idNumber_pass = false;
    alert("身份证号码出生日期超出范围或含有非法字符!");
   }
   break;
   case 18:
   //18位身份号码检测
   //出生日期的合法性检查
   //闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
   //平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
   if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
    ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0

[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
    } else {
    ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0

[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
    }
   if(ereg.test(idcard)){//测试出生日期的合法性
   //计算校验位
    S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
      + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
      + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
      + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
      + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
      + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
      + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
      + parseInt(idcard_array[7]) * 1
      + parseInt(idcard_array[8]) * 6
      + parseInt(idcard_array[9]) * 3 ;
      Y = S % 11;
      M = "F";
      JYM = "10X98765432";
    M = JYM.substr(Y,1);//判断校验位
    if(M == idcard_array[17]){
     idNumber_pass = true;
    
    } //检测ID的校验位
    else{
     idNumber_pass = false;
     alert("身份证号码校验错误");
     };
    }
    else{
     idNumber_pass = false;
     alert("身份证号码出生日期超出范围或含有非法字符!");
     };
    break;
    default:
     idNumber_pass = false;
        alert("身份证号码位数不对!");
    break;
    }
 return idNumber_pass;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值