1. 程式人生 > >身份證 護照等js校驗

身份證 護照等js校驗



function checkName(text){ //傳入物件
 if ($(text).val() != '') {
 var a =$(text).val();
 var msg;
  a=a.replace(/\.|。/g,"·");//英文點和句號替換成中間點
  var re =new RegExp("^(([\u4e00-\u9fa5]+[·])*[\u4e00-\u9fa5]+)$");//漢字包括少數民族名字
  var re1 = new RegExp("^([a-zA-Z\\s]+)$");//英文
 
  if(re.test(a)){//為漢字的時候的處理
   if(1==a.length){
    msg="中文名字最少長度為2";
   }else if(a.length>32){
    msg="中文名字最大長度為32";
   }else{
    msg = "0000";
    $(text).val(a);
   }
  }else if(re1.test(a)){//為英文的時候的處理
   a=a.replace(/[\s]+/g," ");//空白符替換成空格
   a=a.replace(/(^\s*)|(\s*$)/g, "");//去除左右空格
   if(1==a.length){
    msg="英文名字最少長度為2";
   }else if(a.length>64){
    msg="英文名字最大長度為64";
   }else{
    msg = "0000";
    $(text).val(a);
   }
  }else{ //混合的時候處理
   msg="請輸入正確的姓名";
  }
 return msg;
 }
 return "0000";
$("#appliName").blur(function() {
  var name = checkName("#appliName");
  if (name=="0000") {
   $(".appliName_error").addClass("hide");
  } else {
   $(".appliName_error").children("span").text(name);
   $(".appliName_error").removeClass("hide");
  }
 });
----------------------------------------------------------上面是名字校驗----------------------------------------
$("#mobile").blur(function(){
  var name = checkPhone("#mobile");
  if (name=="0000") {
   $(".applicantPhone_error").addClass("hide");
  } else {
   $(".applicantPhone_error").children("span").text(name);
   $(".applicantPhone_error").removeClass("hide");
  }
 });
function checkPhone(text){
 if ($(text).val() != '') {
  var msg = "請輸入正確的手機號";
  var re1 = new RegExp("^[1][3-8]+\\d{9}$");
  if (re1.test($(text).val())) {
   return "0000";
  } else {
   return msg;
  }
 }
 return "0000";
}
----------------------------------------------------------上面是手機號校驗----------------------------------------
$("#email").blur(function(){
  var name = checkEmail("#email");
  if (name=="0000") {
   $(".applicantEmail_error").addClass("hide");
  } else {
   $(".applicantEmail_error").children("span").text(name);
   $(".applicantEmail_error").removeClass("hide");
  }
  });
function checkEmail(text){
 if ($(text).val() != '') {
 var msg="請輸入正確的郵箱";
//     var re =new RegExp("(^(\\w)+(\.\\w+)*@(\\w)+((\\.\\w+)+)$

)");
     var re =new RegExp("(^(\\w)+(\\.\\w+)*@(\\w)+((\\.\\w+)+)$)");
     if(re.test($(text).val())){
      return "0000";
     }else{
      if($(text).val()==""){
       msg="請輸入電子郵箱";
      }
      return msg;
     }
 }
 return "0000";
}
----------------------------------------------------------上面是email校驗----------------------------------------
function checkIdCode(text,event){
 var msg="";
 var type = $(text+"Type").val();
 if($(text).val() != ''){
 if("身份證"==type){//身份證號
  if(text=="#applicantIdentifyCode"){
   $(".applicantBirthDay_show").text("請輸入");
   $("#applicantBirthDay").val("");
  }else{
   $(".insuredBirthDay_show").text("請輸入");
   $("#insuredBirthDay").val("");
  }
  msg="請輸入正確的身份證號";
     var re =new RegExp("(^\\d{15}|\\d{17}(\\d{1}|X|x)$)");//(^\\d{15}$)|(^\\d{17}([0-9]|X)$
)
     var card =$(text).val();
     card=card.toUpperCase();
     if(re.test(card)){
     //15位轉18位
      var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
         var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
         var cardTemp = 0, i, valnum;
         var date;
     if("15"==card.length){
    date="19"+card.substr(6, 6);
    if(!checkDate(date,type,text)){
     return "請輸入正確的身份證號";
    }
    return "0000";
     }
         var len = card.length;
         if(len == '18')
         {
          date=card.substr(6, 8);
     if(!checkDate(date,type,text)){
     return "請輸入正確的身份證號";
     }
             for(i = 0; 17 > i ; i ++)
             {
                 cardTemp += card.substr(i, 1) * arrInt[i];
             }
             valnum = arrCh[cardTemp % 11];
             if (valnum == card.substr(17, 1))
             {
                 return "0000";
             }else{
              return "請輸入正確的身份證號";
             }
         }
     }
 }else if("護照"==type){//護照
  msg="請輸入正確的護照號";
  var re =new RegExp("(^([PSE]{1}\\d{7}|[GS]{1}\\d{8})$)");//E字打頭的後面不知道要跟幾位
  var card=$(text).val().toUpperCase();
  if(re.test(card)){
   return "0000";
  }
 }else if("軍官證"==type){//軍官證
  msg="請輸入正確的軍官證號";
  var re =new RegExp("^([\u4e00-\u9fa5]{1,}[\u4e00-\u9fa50-9()()-]{5,})$");
  if(re.test($(text).val())){
   return "0000";
  }
 }else{
  return "沒有此證件型別";
 }
 return msg;
 }
 return "0000";
}
var name = checkIdCode("#applicantIdentifyCode",event);
  if (name=="0000") {
   $(".applicantIdentify_error").addClass("hide");
  } else {
   $(".applicantIdentify_error").children("span").text(name);
   $(".applicantIdentify_error").removeClass("hide");
  }
 });
 $(".insuredIdentifyCode_error").addClass("hide");
 
 $("#insuredIdentifyCode").focus(function(event){
  $(".insuredIdentifyCode_error").addClass("hide");
 });
 $("#insuredIdentifyCode").keyup(function(event){
  //var name =
   //checkIdenti("#insuredIdentifyCode",event);
  /*if (name=="0000") {
   $(".insuredIdentifyCode_error").addClass("hide");
  } else {
   $(".insuredIdentifyCode_error").children("span").text(name);
   $(".insuredIdentifyCode_error").removeClass("hide");

  }
  */
 });
 $("#insuredIdentifyCode").blur(function(event){
  var name = checkIdCode("#insuredIdentifyCode",event);
  if (name=="0000") {
   $(".insuredIdentifyCode_error").addClass("hide");
  } else {
   $(".insuredIdentifyCode_error").children("span").text(name);
   $(".insuredIdentifyCode_error").removeClass("hide");

  }
  
 });
});

----------------------------------------------------------上面是身份證 軍官證 護照的校驗----------------------------------------