身份证号正则表达式 js
时间: 2023-11-14 13:11:16 浏览: 102
身份证号正则表达式的 JavaScript 实现如下:
```javascript
const idCardReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
```
其中,`^\d{15}$` 匹配 15 位身份证号码,`^\d{18}$` 匹配 18 位身份证号码,`^\d{17}(\d|X|x)$` 匹配 18 位身份证号码中的最后一位可能是数字或字母 X。
相关问题
js身份证号的正则表达式
***码(18位):
```javascript
/^\d{17}[\dXx]$/
```
这个正则表达式可以匹配由17个数字和最后一位数字或大写字母 X(或小写字母 x)组成的字符串。这只是一个简单的规则,无法验证身份证号码的合法性,例如对生日、区域等进行验证。如果你需要更严格的验证,请使用专门的身份证验证库或编写更复杂的正则表达式。
前端身份证号码验证正则表达式
### 15/18位身份证号码验证的正则表达式
对于前端身份证号码验证,可以采用如下所示的正则表达式来匹配有效的15位或18位中国居民身份证号码:
#### 15位身份证号码正则表达式
```javascript
var idCard15Pattern = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
```
此模式确保了前两位不为零,并且日期部分符合公历标准[^1]。
#### 18位身份证号码正则表达式
```javascript
var idCard18Pattern = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
```
该模式同样保证了年月日的有效性以及最后一位可能是数字或者是大写的英文字母'X'[ ^1 ]。
为了简化实际应用中的代码编写工作量并提高可读性和维护性,通常会将上述两种情况合并成一个更通用的形式来进行验证:
```javascript
function validateIdCard(idCard){
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|x|X)$)/;
return reg.test(idCard);
}
```
这段函数能够处理三种不同形式的身份证明文件编号——即旧版15位编码、新版无校验码的18位编码以及带有字母结尾的新版18位编码。
阅读全文
相关推荐












