js 身份证正则表达式
时间: 2023-12-25 09:29:39 浏览: 32
以下是一个用于匹配身份证号码的简易版正则表达式示例:
```javascript
var regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dX]$/;
``该正则表达式可以用于验证18位身份证号码,其中:
- ^ 表示匹配字符串的开始位置
- [1-9] 表示第一位必须是非零数字
- \d{5} 表示接下来的5位数字可以是任意数字
- (19|20)\d{2} 表示年份码,可以是19开头或20开头的4位数字
- (0[1-9]|1[0-2]) 表示月份码,可以是01到12之间的2位数字
- (0[1-9]|[12]\d|3[01]) 表示日期码,可以是01到31之间的2位数字
- \d{3} 表示顺序码,可以是任意3位数字
- [\dX] 表示校验码,可以是任意数字或大写字母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;
}
```
相关问题:
vue 身份证正则表达式
在Vue中,可以使用正则表达式来验证身份证号码。以下是一个示例的Vue代码,其中包含了身份证号码的正则表达式验证:
```javascript
// 身份证号码正则表达式
var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
// 在提交按钮的方法里进行验证
if (this.userInfo.SFZH == '') {
this.showToast('请填写身份证号');
return;
}
if (!regIdNo.test(this.userInfo.SFZH)) {
this.showToast('身份证号填写有误');
return;
}
```
这段代码首先定义了一个名为`regIdNo`的正则表达式,用于验证身份证号码是否合法。然后在提交按钮的方法里,通过判断身份证号码是否为空来进行验证。如果身份证号码为空,会提示用户填写身份证号码;如果身份证号码不符合正则表达式的要求,会提示身份证号码填写有误。可以使用`test()`函数来判断一个字符串是否符合正则表达式。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [正则表达式校验身份证号码](https://download.csdn.net/download/lantianfeixue/3426765)[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_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [在Vue中使用JS正则表达式对身份证号和手机号进行验证](https://blog.csdn.net/weixin_52613927/article/details/126405219)[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_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [Vue 正则表达式验证表单字段(如用户名/密码/真实姓名/身份证/手机号/邮箱)的合法性](https://blog.csdn.net/qq_38661984/article/details/99968253)[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_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]