ts 身份证正则表达式
时间: 2024-04-24 12:19:42 浏览: 255
以下是一个用于验证身份证号的正则表达式的示例[^2]:
```typescript
const idCardRegex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dX]$/;
function validateIdCard(idCard: string): boolean {
return idCardRegex.test(idCard);
}
console.log(validateIdCard("110101199003077777")); // 输出:true
console.log(validateIdCard("11010119900307X77")); // 输出:true
console.log(validateIdCard("11010119900307777X")); // 输出:false
```
该正则表达式可以验证中国身份证号的格式是否正确。其中,`^`表示匹配字符串的开始,`$`表示匹配字符串的结束。具体的正则表达式规则如下:
- `[1-9]`:第一位必须是非零数字。
- `\d{5}`:接下来的5位数字可以是任意数字。
- `(19|20)\d{2}`:接下来的4位数字必须是19或20开头的年份。
- `(0[1-9]|1[0-2])`:接下来的2位数字必须是01到12之间的月份。
- `(0[1-9]|[12]\d|3[01])`:接下来的2位数字必须是01到31之间的日期。
- `\d{3}`:接下来的3位数字可以是任意数字。
- `[\dX]`:最后一位可以是数字或大写字母X。
通过调用`validateIdCard`函数,可以判断一个身份证号是否符合上述规则。如果返回`true`,则表示身份证号格式正确;如果返回`false`,则表示身份证号格式不正确。
阅读全文