JS 验证身份证信息有效性详解
版权申诉
159 浏览量
更新于2024-07-06
收藏 19KB DOCX 举报
JavaScript 验证身份证信息有效性
在本文中,我们将详细介绍如何使用 JavaScript 验证身份证信息的有效性。身份证号码是一种重要的身份识别信息,正确地验证其有效性是非常重要的。本文将基于身份证号码编码规章,使用 JavaScript 对身份证信息进行有效性验证,并提供了详细的代码实现。
身份证号码编码规章
身份证号码可以分为两种:15 位和 18 位。15 位身份证号码编码规章为:ddddddyymmddxxp,其中:
* ddddd:地区码
* yymmdd:诞生年月日
* xx:挨次类编码,无法确定
* p:性别,奇数为男,偶数为女
18 位身份证号码编码规章为:ddddddyyyymmddxxxy,其中:
* ddddd:地区码
* yyyymmdd:诞生年月日
* xxx:挨次类编码,无法确定,奇数为男,偶数为女
* y:校验码,该位数值可通过前 17 位计算获得
身份证号码验证算法
为了验证身份证号码的有效性,我们需要使用加权因子和校验位计算公式。加权因子为 Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1],校验位计算公式为:Y_P = mod(∑(Ai × Wi), 11),其中 i 为身份证号码从右往左数的 2-18 位;Y_P 为脚丫校验码所在校验码数组位置。
JavaScript 实现
使用 JavaScript,我们可以实现身份证号码的验证算法。下面是实现代码:
```javascript
var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1]; // 加权因子
var ValideCode = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2]; // 身份证验证位值
function IdCardValidate(idCard) {
idCard = trim(idCard.replace(/ /g, ""));
if (idCard.length == 15) {
return isValidityBrithBy15IdCard(idCard);
} else if (idCard.length == 18) {
var a_idCard = idCard.split(""); // 得到身份证数组
if (isValidityBrithBy18IdCard(idCard) && isTrueValidateCodeBy18IdCard(a_idCard)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
function isTrueValidateCodeBy18IdCard(a_idCard) {
// 验证 18 位身份证号码的校验码
var Y_P = 0;
for (var i = 17; i >= 2; i--) {
Y_P += a_idCard[i] * Wi[17 - i];
}
Y_P = Y_P % 11;
return Y_P == a_idCard[17];
}
```
结论
通过本文,我们可以使用 JavaScript 验证身份证信息的有效性。我们首先介绍了身份证号码编码规章,然后使用加权因子和校验位计算公式实现了身份证号码的验证算法。最后,我们提供了 JavaScript 实现代码,供读者参考。
2022-01-22 上传
115 浏览量
2021-12-05 上传
194 浏览量
2021-09-26 上传
2022-01-12 上传
2022-01-22 上传
101 浏览量
2022-01-19 上传
惚如远行客
- 粉丝: 0
- 资源: 5209
最新资源
- playbooks:Ansible 剧本
- 都市之夜日志动态网页模板
- abra:协作云CLI的Github镜像。 随时提出问题并发送变更集,我们的目标是及时做出回应
- xun xian shi zhong ke -crx插件
- SemaphoreSlim,SemaphoreSlim【可联系作者购买】
- nodejs-intro
- 动态日志切换展示响应式网页模板
- wodapp-backend
- TCP.IP终端程序源代码
- 运用HTML、CSS、JavaScript基础制作页面
- tweetmvc-core:TweetMVC [已弃用] - 见 jeremeamiamu
- rougelike:使用C ++ 11和termbox编写的Rougelike游戏
- Browser Information-crx插件
- Honey-Website:营养应用程序Honey的一页行销网站
- 内裤
- 功能强大的弹窗(WIN 7透明效果)