vue 身份证号rules校验
时间: 2023-07-08 16:50:50 浏览: 125
身份证号校验
在 Vue.js 中,可以使用 `rules` 属性来进行表单验证,以下是一个简单的身份证号校验示例:
HTML:
```
<template>
<div>
<el-form :model="form" :rules="rules" ref="form" label-width="80px">
<el-form-item label="身份证号" prop="idNumber">
<el-input v-model="form.idNumber"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-form-item>
</el-form>
</div>
</template>
```
Vue.js:
```
<script>
export default {
data() {
return {
form: {
idNumber: ''
},
rules: {
idNumber: [
{ required: true, message: '请输入身份证号', trigger: 'blur' },
{ validator: this.checkIdNumber, trigger: 'blur' }
]
}
}
},
methods: {
checkIdNumber(rule, value, callback) {
// 身份证号校验
let idNumberReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if (!idNumberReg.test(value)) {
callback(new Error('身份证号格式不正确!'));
} else {
callback();
}
},
submitForm() {
this.$refs.form.validate(valid => {
if (valid) {
alert('表单验证通过');
} else {
alert('表单验证不通过');
return false;
}
});
}
}
}
</script>
```
在 `rules` 属性中,我们可以定义一个 `idNumber` 规则,包括两个验证条件:
1. `required`:表示此字段为必填项,如果没有填写内容则会提示 "请输入身份证号"。
2. `validator`:表示使用 `checkIdNumber` 方法进行自定义验证。
在 `checkIdNumber` 方法中,同样使用正则表达式进行身份证号校验,如果校验不通过则通过 `callback` 方法返回错误信息。
在提交表单时,使用 `validate` 方法进行表单验证,如果验证通过则会弹出 "表单验证通过" 的提示框,否则弹出 "表单验证不通过" 的提示框,并且阻止表单提交。
阅读全文