使用正则表达式怎么验证二代身份证号码

  介绍

今天就跟大家聊聊有关使用正则表达式怎么验证二代身份证号码,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

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位校验位

看完上述内容,你们对使用正则表达式怎么验证二代身份证号码有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

使用正则表达式怎么验证二代身份证号码