Dowemo

Today, the current id number of the item is changed from the original only to allow regular numbers, as follows

Function mainly verifies the format of year 's address and last.



  var code="123132132121"






 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;


 var year = code.substr(6,4);


  var mounth = code.substr(10,2);


 var day = code.substr(12,2);


 if(!code ||!/^d{6}(18|19|20)?d{2}(0[1-9]|1[12])(0[1-9]|[12]d|3[01])d{3}(d|X)$/i.test(code)){


 tip ="身份证号格式错误";


 pass = false;


 }



 else if(!city[UUserCard.substr(0,2)]){


 tip ="地址编码错误";


 pass = false;


 }



 if(((year%400==0)||year%100!=0)&&year%4==0){


 if(mounth=='02'){


 if(day*1>29){


 pass = false; 


 }


 }


 }else{


 if(mounth=='02'){


 if(day*1>28){


 pass = false;


 }


 }


 } 









//18位身份证需要验证最后一位校验位


 if(UUserCard.length == 18){


 code = UUserCard.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){


//校验失败 填写你要做的内容


 };





As the main code, specifically, see how you implement it.



Copyright © 2011 Dowemo All rights reserved.    Creative Commons   AboutUs