介绍
今天就跟大家聊聊有关使用正则表达式怎么验证二代身份证号码,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
IdCodeValid:函数(代码){ ,//身份证号合法性验证 ,//支持15位和18位身份证号 ,//支持地址编码,出生日期,校验位验证 ,var 城市={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 行={ ,& # 39;通过# 39;:没错, ,& # 39;味精# 39;:& # 39;验证成功& # 39; ,}; ,如果(! code | |, !/^ \ d {6} (18 19 | | 20) ? \ d {2} (0 (1 - 9) | 1 [012]) (0 (1 - 9) | [12] \ d | 3 [01]) \ d {3} (\ d | (xX)) $/test(代码)){ ,行={ & # 39;才能通过# 39;:假的, & # 39;才能味精# 39;:& # 39;身份证号格式错误& # 39; ,}; 城市,}else 如果(! [code.substr (0, 2))) { ,行={ & # 39;才能通过# 39;:假的, & # 39;才能味精# 39;:& # 39;身份证号地址编码错误& # 39; ,}; ,其他}{ ,//18位身份证需要验证最后一位校验位 ,如果(code.length ==, 18) { 时间=code 才能;code.split (& # 39; & # 39;);//才能∑(ai×Wi) (mod 11)//加才能权因子 var 才能;factor =,(, 7日,9日,10日,5日,8日,4,,2,,1,,,,,,,,,,,,,,,,,,2,);//校才能验位 var 才能;parity =, (0, 1,,, & # 39; x,,,,,,,,,,,,,,, 3,, 2,); var 才能;sum =, 0; var 才能;ai =, 0; var 才能;wi =, 0; for 才能;(var 小姐:=,0;,小姐:& lt;, 17;,我+ +) {才能 时间=ai 才能;代码(我); 时间=wi 才能;因素[我]; sum 才能+=,ai *, wi; ,,} 如果才能(平价[sum %, 11], !=,代码[17].toUpperCase ()) { 行={才能 ,,& # 39;通过# 39;:假的, ,,& # 39;味精# 39;:& # 39;身份证号校验位错误& # 39; ,,}; ,,} ,} ,} ,return 行; } IdCodeValid (& # 39; xxx # 39;);
<强>正则表达式:强>
出生日期<代码> 1800 - 2099 (18 19 | | 20)? \ d {2} (0 (1 - 9) | 1 [012]) (0 (1 - 9) | [12] \ d | 3[01]) 代码>
身份证正则表达式<代码>/^ \ d {6} (18 19 | | 20) ? \ d {2} (0 (1 - 9) | 1 [012]) (0 (1 - 9) | [12] \ d | 3 [01]) \ d {3} (\ d | (xX)) $/代码>
位校验规则6位地址编码+ 8位出生日期+ 3位顺序号+ 1位校验位
看完上述内容,你们对使用正则表达式怎么验证二代身份证号码有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。