600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 身份证号码的正则验证

身份证号码的正则验证

时间:2024-05-19 12:44:51

相关推荐

身份证号码的正则验证

手机号码,身份证号码的正则验证是我们开发中很常用到的东西,而大部分的身份证号码验证也只不过只是验证了身份证号码的长度及几个关键数字的匹配。

怎样能更加完善的验证身份证号码呢?如下代码可以进一步的提高身份证号码的验证精密度:

var cardValid = function (value) {var ex = /^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\d{4}(19|2[0-9])((\d{2}(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(\d{2}(0[13578]|1[02])31)|(\d{2}02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[48])0229))\d{3}(\d|X|x)?$/;var pattern = new RegExp(ex);if(!pattern.test(value)){return false;}var params = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];var checks = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];var id=value;var sum = 0;for (var i = 0; i < 17; i++) {var tmp = id.charAt(i);sum += params[i] * tmp;}sum %= 11;var check;if (id.charAt(17) == 'x' || id.charAt(17) == 'X') {check = 10;} else {check = id.charAt(17);}return check == checks[sum];};if(!cardValid(value)){alert("无效的身份证号码!");};

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。