js身份证号正则表达式
时间: 2023-08-27 08:21:28 浏览: 99
以下是一个简单的 JavaScript 正则表达式,用于验证中国大陆身份证号码:
```javascript
/^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
```
该正则表达式可以匹配符合以下规则的身份证号码:
- 前 6 位为行政区划代码,第一位不能为 0。
- 接下来 8 位为出生年月日,其中第 7、8 位为年份,第 9、10 位为月份,第 11、12 位为日期。
- 最后 4 位为顺序编号,其中第 13 位为性别,奇数为男,偶数为女;第 14、15 位为校验码,可为数字 0-9 或字母 X/x。
需要注意的是,该正则表达式只能验证身份证号码的格式是否正确,不能验证身份证号码是否真实存在。
相关问题
js身份证号的正则表达式
***码(18位):
```javascript
/^\d{17}[\dXx]$/
```
这个正则表达式可以匹配由17个数字和最后一位数字或大写字母 X(或小写字母 x)组成的字符串。这只是一个简单的规则,无法验证身份证号码的合法性,例如对生日、区域等进行验证。如果你需要更严格的验证,请使用专门的身份证验证库或编写更复杂的正则表达式。
js身份证正则表达式
以下是一个简单的 JavaScript 函数,使用正则表达式来验证身份证号码的格式是否正确:
```javascript
function isValidIDCard(idCard) {
// 身份证正则表达式
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
return reg.test(idCard);}
```
上述代码仅仅是验证了身份证号码的格式是否正确,而并没有验证身份证号码本身是否合法。如果需要验证身份证号码的合法性,可以使用第三方库或者在线服务。
如果需要使用正则表达式判断当前身份证号是否是22岁,可以先获取当前日期,然后根据身份证号码中的出生日期计算年龄,最后判断是否等于22岁即可。具体代码如下:
```javascript
function is22YearsOld(idCard) {
// 身份证正则表达式
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (!reg.test(idCard)) {
return false;
}
var birthYear = parseInt(idCard.substr(6, 4));
var birthMonth = parseInt(idCard.substr(10, 2));
var birthDay = parseInt(idCard.substr(12,2));
var now = new Date();
var nowYear = now.getFullYear();
var nowMonth = now.getMonth() + 1;
var nowDay = now.getDate();
var age = nowYear - birthYear;
if (nowMonth < birthMonth || (nowMonth == birthMonth && nowDay < birthDay)) {
age--;
}
return age == 22;
}
```
相关问题:
阅读全文