vue身份证校验正则
时间: 2023-11-15 22:01:08 浏览: 79
在Vue项目中,身份证号码的校验可以使用正则表达式来实现。下面是一个示例代码,其中包含了一个正则表达式,用于校验身份证号码的合法性:
```javascript
data() {
return {
rules: {
IDCard: [
{
required: true,
pattern: /^(([1-9][0-9]{5}(19|20)[0-9]{2}((0[1-9])|(1[0-2]))([0-2][1-9]|10|20|30|31)[0-9]{3}([0-9]|X|x))|([1-9][0-9]{5}[0-9]{2}((0[1-9])|(1[0-2]))([0-2][1-9]|10|20|30|31)[0-9]{3}))$/,
message: "请输入正确的身份证号",
trigger: "blur"
}
],
}
}
}
```
其中,正则表达式的含义是:身份证号码由18位数字或17位数字加上一个字母X组成,其中前6位表示出生地区,接下来8位表示出生日期,再接下来3位表示出生顺序,最后一位是校验码。这个正则表达式可以校验身份证号码的格式是否正确,但并不能保证身份证号码的真实性。
相关问题
vue身份证号正则表达shi
以下是一个简单的Vue身份证号正则表达式:
```javascript
/^\d{6}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[0-9Xx]$/
```
这个正则表达式可以验证身份证号是否符合中国大陆的18位身份证号码规范。
解释:
- `^` 开头
- `\d{6}` 前6位是数字,表示地区码
- `(18|19|20)\d{2}` 第7-10位是年份,必须是18、19、20开头的4位数字
- `(0[1-9]|1[0-2])` 第11-12位是月份,必须是01-12的数字
- `(0[1-9]|[1-2]\d|3[0-1])` 第13-14位是日期,必须是01-31的数字
- `\d{3}` 第15-17位是顺序码,可以是任意数字
- `[0-9Xx]` 第18位是校验码,可以是数字0-9或者字母Xx
- `$` 结尾
注意:这个正则表达式只能验证身份证号的格式是否正确,并不能验证身份证号是否真实存在。
vue实现身份证正则校验
可以使用正则表达式来实现身份证号码的校验,以下是一个基于 Vue 的实现示例:
```html
<template>
<div>
<input v-model="idCard" placeholder="请输入身份证号码">
<button @click="checkIdCard">校验</button>
<p v-if="result">{{ result }}</p>
</div>
</template>
<script>
export default {
data() {
return {
idCard: '',
result: ''
}
},
methods: {
checkIdCard() {
const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
if (reg.test(this.idCard)) {
this.result = '身份证号码格式正确'
} else {
this.result = '身份证号码格式错误'
}
}
}
}
</script>
```
在上面的代码中,我们使用了正则表达式 `/ (^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/` 来校验身份证号码的格式是否正确。如果输入的身份证号码符合正则表达式的规则,则显示“身份证号码格式正确”,否则显示“身份证号码格式错误”。
阅读全文