1、 除汉字、英文、数字 和 逗号、句号之外的字符
/[^\u4e00-\u9fa5a-zA-Z\d,\.,。]+/
\u4e00-\u9fa5匹配汉字
a-zA-Z匹配字母
\d匹配数字
,.,。匹配逗号和句号
^表示非
+表示尽可能多的匹配
keywords:[
{validator:function(rule,value,callback){
if(value != value.replace(/[^\u4e00-\u9fa5,\,]+/,'')){
//正则里^表示非,除...之外的, \u4e00-\u9fa5 匹配汉字, \,是匹配转译的逗号,
//即:将value里除汉字 和 逗号之外字符的都替换为 空 后,若和原value不同,说明里面有除汉字和逗号外的字符,然后进行提示
callback(new Error("请输入关键词(汉字),多个关键词用逗号隔开"));
}else{
if(value.startsWith(',')||value.startsWith(',')||value.endsWith(',')||value.endsWith(',')){
callback(new Error("请输入关键词(汉字)开始或结束"));
}else{
let arr = value.replace(/,/ig,',').split(',')
if(arr.length<3 || arr.length>5){
callback(new Error("请输入3-5关键词(汉字),多个关键词用逗号隔开"));
}else{
callback();
}
}
}
}, trigger: 'blur'}
],
price:[
{ required: true,message: '请正确填写预计服务金额', trigger: 'blur'},
{validator:function(rule,value,callback){
let priceBool = true;
Object.keys(value).forEach(key=>{
if(value[key]==''||Number(value[key])<0){
priceBool = false;
}
});
if(priceBool == false){
callback(new Error("请正确填写预计服务金额"));
}else{
callback();
}
}, trigger: 'blur'}
],
linkName:[
{ required: true, message: '请输入联系人', trigger: 'blur' },
{ min: 2, max: 5, message: '长度在 2 到 5 个字符', trigger: 'blur' }
],
linkPhone:[
{ required: true, message: '请输入联系电话', trigger: 'blur' },
{ validator:function(rule,value,callback){
if(/^1[34578]\d{9}$/.test(value) == false){
callback(new Error("请输入正确的手机号"));
}else{
callback();
}
}, trigger: 'blur'}
],
xemail:[
{ required: true, message: '请输入邮箱地址', trigger: 'blur' },
{ validator:function(rule,value,callback){
const mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
if (mailReg.test(value)) {
callback()
} else {
callback(new Error('请正确输入邮箱地址'))
}
}, trigger: 'blur'},
],
intro: [
{ required: true, message: '请填写需求简介', trigger: 'blur' },
{ min: 0, max: 400, message: '长度在 0 到 400 个字符', trigger: 'blur' }
]
},
2、验证身份证号
var validNamecade = (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();
}
};