js如何校验身份证格式,身份证可以是18位或15位,切支持最后一位字母大小写,请提供js正则方法
时间: 2024-04-03 08:32:48 浏览: 84
以下是一个支持校验18位或15位身份证号码格式的 JavaScript 正则表达式:
```javascript
function validateIdCard(idCard) {
// 18位和15位身份证号码的正则表达式
var regIdCard = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (!regIdCard.test(idCard)) {
return false;
}
return true;
}
```
这个正则表达式中,`^\d{15}$` 匹配15位数字身份证号码,`^\d{18}$` 匹配18位数字身份证号码,`^\d{17}(\d|X|x)$` 匹配18位身份证号码中最后一位可以是数字或字母X(大小写均可)。
你可以调用这个函数传入身份证号码进行校验,如果返回true则表示身份证号码格式正确,否则表示格式不正确。
相关问题
js验证身份证号码正则表达式
可以使用以下正则表达式来验证身份证号码的格式是否正确:
/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
这个正则表达式可以匹配满足以下条件的身份证号码:
- 15位或18位数字
- 以及最后一位可以是数字或字母X(大小写均可)
这个正则表达式是通过分组和字符匹配来实现的,其中:
- ^表示匹配字符串的开始
- \d表示匹配一个数字
- {15}和{18}表示匹配前面的表达式15次和18次
- $表示匹配字符串的结束
- ()用于分组,|表示或的关系
- [Xx]表示匹配字母X或x
所以,这个正则表达式可以验证符合身份证号码格式的字符串。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [js正则对身份证号的判断](https://blog.csdn.net/m0_63873004/article/details/129041876)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [身份证号码的正则表达式及验证详解(JavaScript,Regex)](https://blog.csdn.net/Cavendixe/article/details/129581874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
正则表达式验证身份证号码
正则表达式验证中国大陆身份证号码:
```javascript
/^\d{17}(\d|x)$/i
```
解释:
- `^` 匹配字符串开始
- `\d` 匹配数字
- `{17}` 匹配前面的数字 17 次
- `(\d|x)` 匹配最后一位数字或字母 x
- `i` 表示大小写不敏感
- `$` 匹配字符串结束
示例:
```javascript
const regex = /^\d{17}(\d|x)$/i;
const id1 = '110101199003075192'; // 正确
const id2 = '11010119900307519x'; // 正确
const id3 = '11010119900307519X'; // 正确
const id4 = '11010119900307519'; // 错误,长度不足
const id5 = '1101011990030751921'; // 错误,长度超过 18 位
console.log(regex.test(id1)); // true
console.log(regex.test(id2)); // true
console.log(regex.test(id3)); // true
console.log(regex.test(id4)); // false
console.log(regex.test(id5)); // false
```
阅读全文