💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
~~~ // 二代身份证号码为 18 位,其最后一位(第 18 位)的计算方法为: // 1、 将前面的身份证号码 17 位数分别乘以不同的系数。从第一位到第十七位的系数分别 为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2 // 2、 将这 17 位数字和系数相乘的结果相加 // 3、 用加出来和除以 11,看余数是多少? // 4、 余数只可能有 0-1-2-3-4-5-6-7-8-9-10 这 11 个数字。 // 每个数字所对应的 最后一位身份证的号码为:1-0-X-9-8-7-6-5-4-3-2 // 即,如果余数是是 2,就会在身份证的第 18 位数字上出现罗马数字的X。如果余数是 10,身份证的最后一位号码就 是 2 // 身份验证函数 function Authentication() { const arrXishu = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; //声明系数数组 var arrch = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']; //声明最后一位身份证号码的数组 var idcard = document.getElementById("IdCard").value; var arrIdcard = idcard.split(""); //字符串转化为数组 var sum = 0; if (arrIdcard.length != 18) { return alert("输入的号码有误"); } else { for (var index = 0; index < arrXishu.length; index++) { sum += parseInt(arrXishu[index]) * arrXishu[index]; } let c = sum % 11; let code = arrch(c); if (code == arrIdcard.charAt(17)) { alert("身份证号码正确"); } else { alert("身份证号码错误"); } } } ~~~