Note:
1. Only 18-digit ID numbers are verified. There should be very few 15-digit ID numbers now.
2. xX is not case-sensitive,
3. The year of birth is 1900-2099, and the number of days in each month is also verified (taking into account the situation of leap months).
4. See the verification rules for details. This is written in more detail and clearness. I believe it After reading it, you can write one by yourself.
5. At present, it is not possible to accurately verify the location code. I have collected and sorted the location code and provided a query API for reference only.
If there is any inaccuracy, please leave a message to point it out
api address: http://www.xuzee.com/api/idcard.php
Interface description: http:/ /www.xuzee.com/api/
6. This verification function is currently running in the project. No problems have been found yet. If there are any problems, it will be updated.
Above
Directly enter the code:
function testid(id) { // 1 "验证通过!", 0 //校验不通过 // id为身份证号码 var format = /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/; //号码规则校验 if(!format.test(id)){ return {'status':0,'msg':'身份证号码不合规'}; } //区位码校验 //出生年月日校验 前正则限制起始年份为1900; var year = id.substr(6,4),//身份证年 month = id.substr(10,2),//身份证月 date = id.substr(12,2),//身份证日 time = Date.parse(month+'-'+date+'-'+year),//身份证日期时间戳date now_time = Date.parse(new Date()),//当前时间戳 dates = (new Date(year,month,0)).getDate();//身份证当月天数 if(time>now_time||date>dates){ return {'status':0,'msg':'出生日期不合规'} } //校验码判断 var c = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2); //系数 var b = new Array('1','0','X','9','8','7','6','5','4','3','2'); //校验码对照表 var id_array = id.split(""); var sum = 0; for(var k=0;k<17;k++){ sum+=parseInt(id_array[k])*parseInt(c[k]); } if(id_array[17].toUpperCase() != b[sum%11].toUpperCase()){ return {'status':0,'msg':'身份证校验码不合规'} } return {'status':1,'msg':'校验通过'} }
The above is the detailed content of Perfect implementation of ID card verification js regular method. For more information, please follow other related articles on the PHP Chinese website!