<el-form-item label="联系方式:" prop="type">
<el-select
v-model="ruleForm.type"
style="width: 80%"
placeholder="请选择"
ref="type"
clearable
@change="changeFn"
>
<el-option label="固定电话" value="1"></el-option>
<el-option label="手机号码" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="ruleForm.type == '1' ? '电话号码:' : '手机号码:' " prop="phone">
<el-input
v-model.trim="ruleForm.phone"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
data() {
var checkMobile = (rule, value, callback) => {
if(value === '') {
callback(new Error("请输入合法的电话号"))
} else {
const phoneType = this.ruleForm.type;
let regMobile = null;
// 验证电话的正则表达式
let regTelephone = /^0\d{2,3}-\d{7,8}|\(?0\d{2,3}[)-]?\d{7,8}|\(?0\d{2,3}[)-]*\d{7,8}$/;
// 验证手机号的正则表达式
let regPhone = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
if (phoneType == '1') {
regMobile = regTelephone
} else {
regMobile = regPhone
}
if(!regMobile.test(value)) {
return callback (new Error("请输入合法的电话号码或者手机号码"))
}
callback();
}
};
return {
rules: {
phone: [
{ required: true, message: "电话号码不能为空" },
{
validator: checkMobile,
trigger: "blur",
},
],
},
};