jq判断身份证是否正确
有道云笔记
文档:jq判断身份证号是否正确.note
http://note.youdao.com/noteshare?id=6edb06906a52b3809521f8c3228926a2
<div class="cnblogs_code">
1 function judge_id(id) { 2 var my_id = id; 3 my_id = my_id.toUpperCase(); 4 if (my_id.length == 18) { 5 //判断是否18位 6 //正则判断是否符合身份证的格式 7 if (!/^\d{17}\d|X$/i.test(my_id)) { 8 return 0; 9 } else { 10 //定义身份证号前17位的校验权 11 var arr_right = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; 12 //前17位运算后的正确校验码 13 var arr_valid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2]; 14 var sum = 0, check_code; 15 for (var i = 0; i < my_id.length-1; i++) { 16 sum += parseInt(my_id[i]) * arr_right[i]; 17 } 18 check_code = sum % 11; 19 if (arr_valid[check_code] == my_id.substr(17,1)) { 20 return 1; 21 } else { 22 return 0; 23 } 24 } 25 } else { 26 return 0; 27 } 28 }

浙公网安备 33010602011771号