jq判断身份证是否正确

有道云笔记

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         }
posted @ 2020-04-02 09:22  海是歌  阅读(521)  评论(0)    收藏  举报