js 身份证校验: 需要满足15-18位身份证校验规则
时间: 2024-06-15 08:08:00 浏览: 15
JavaScript身份证校验可以通过正则表达式来实现。以下是一个简单的示例代码:
```javascript
function validateIDCard(idCard) {
// 正则表达式校验规则
var reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;
// 校验身份证号码格式
if (!reg.test(idCard)) {
return false;
}
// 校验身份证号码的其他规则
// ...
return true;
}
```
上述代码中,`validateIDCard`函数接受一个身份证号码作为参数,并返回一个布尔值,表示该身份证号码是否满足校验规则。
你提到的校验规则是15-18位身份证号码,上述代码中的正则表达式可以满足这个要求。其中,`^\d{15}$`表示15位身份证号码,`^\d{17}(\d|X)$`表示18位身份证号码(最后一位可以是数字或者大写字母X)。
请注意,上述代码只是一个简单的示例,实际的身份证校验规则可能更加复杂。在实际应用中,你可能需要进一步验证身份证号码的地区、生日等信息。
相关问题
js 身份证正则校验15位和18位,校验开头和结尾
以下是校验身份证号的正则表达式:
15位身份证号码正则表达式:^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{2}$
18位身份证号码正则表达式:^[1-9]\d{5}(19\d{2}|20[0-2]\d)(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}([0-9]|X|x)$
其中,15位身份证号码的正则表达式校验开头是1-9,中间的年月日格式为yymmdd,结尾是两位数字;18位身份证号码的正则表达式校验开头是1-9,中间的年月日格式为yyyy-mm-dd,结尾是一个数字或者是大写字母X。
请写一段javascript正则校验身份证格式,身份证可能有18位数字或15位数字两种类型都需要做处理
可以使用正则表达式来校验身份证格式。下面是一个示例代码:
```javascript
function checkIdcard(idcard) {
var regex = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/; // 正则表达式
if (!regex.test(idcard)) { // 使用 test 方法进行校验
return false;
}
// 校验 18 位身份证的校验位
if (idcard.length == 18) {
var code = idcard.split('');
var factor = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
var parity = [1,0,'X',9,8,7,6,5,4,3,2];
var sum = 0;
for (var i = 0; i < 17; i++) {
sum += code[i] * factor[i];
}
if (parity[sum % 11] != code[17]) {
return false;
}
}
return true;
}
// 使用示例
var idcard = "身份证号码";
var isValid = checkIdcard(idcard);
console.log(isValid);
```
在这个示例中,我们定义了一个 `checkIdcard` 函数,它接受一个身份证号码作为参数,并使用正则表达式来校验身份证格式。正则表达式中,`^\d{15}$` 匹配 15 位数字的身份证号码,`^\d{17}([0-9]|X)$` 匹配 18 位数字或字母 X 的身份证号码。如果身份证号码不符合格式,则返回 false。
对于 18 位身份证,还需要校验校验位。校验位是身份证号码的最后一位,根据前面 17 位数字计算得出。具体的计算方法可以参考百度百科:[身份证号码校验](https://baike.baidu.com/item/%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8F%B7%E7%A0%81%E6%A0%A1%E9%AA%8C/15639557?fr=aladdin)。
在校验过程中,如果身份证号码不符合格式或校验位校验失败,则返回 false,否则返回 true。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)