el-input校验身份证号码
时间: 2023-11-06 11:54:49 浏览: 112
可以通过正则表达式进行校验,以下是一个示例代码:
```html
<template>
<el-input v-model="idNumber" placeholder="请输入身份证号码" :class="{ 'is-invalid': isInvalid }"></el-input>
</template>
<script>
export default {
data() {
return {
idNumber: '',
isInvalid: false
}
},
watch: {
idNumber() {
const reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/;
if (!reg.test(this.idNumber)) {
this.isInvalid = true;
} else {
this.isInvalid = false;
}
}
}
}
</script>
<style scoped>
.is-invalid {
border-color: red;
}
</style>
```
这段代码中,我们使用了 `watch` 监听 `idNumber` 的变化,并通过正则表达式进行校验。如果不符合身份证号码格式,则给 input 添加一个红色边框。
相关问题
el-input的正则表达式有哪些
el-input 组件支持使用正则表达式进行输入内容的校验,常见的正则表达式有:
- 数字:/^\d+$/
- 英文:/^[a-zA-Z]+$/
- 中文:/^[\u4e00-\u9fa5]+$/
- 邮箱:/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/
- 手机号码:/^1[3456789]\d{9}$/
- 身份证号码:/^\d{15}$|^\d{18}$|^\d{17}[\dXx]$/
以上正则表达式可以根据具体需求进行调整或自定义。在 el-input 中使用正则表达式校验可以通过设置属性 `pattern` 的值为对应的正则表达式,例如:
```html
<el-input v-model="inputValue" placeholder="请输入手机号码" pattern="^1[3456789]\d{9}$"></el-input>
```
element ui校验身份证
对于 Element UI 来说,要校验身份证号码可以使用自定义校验规则或者使用内置的校验规则。下面是使用自定义校验规则的示例代码:
首先,导入 Element UI 和 Vue:
```html
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
```
然后,在 Vue 实例中定义一个自定义校验方法,并将其作为校验规则添加到表单项中:
```html
<template>
<el-form :model="form" label-width="120px">
<el-form-item label="身份证号码" prop="idNumber" :rules="idNumberRules">
<el-input v-model="form.idNumber"></el-input>
</el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-form>
</template>
<script>
export default {
data() {
return {
form: {
idNumber: ''
},
idNumberRules: [
{ validator: this.validateIdNumber, trigger: 'blur' }
]
};
},
methods: {
validateIdNumber(rule, value, callback) {
if (!value) {
callback(new Error('身份证号码不能为空'));
} else if (!/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/.test(value)) {
callback(new Error('请输入正确的身份证号码'));
} else {
callback();
}
},
submitForm() {
this.$refs.form.validate((valid) => {
if (valid) {
// 表单校验通过,可以进行提交操作
console.log('表单校验通过');
} else {
console.log('表单校验不通过');
}
});
}
}
};
</script>
```
这样就能实现对身份证号码的校验了。当输入的身份证号码不符合规则时,表单项会显示错误提示信息,并且提交按钮会被禁用。
阅读全文