javascript校验字符串是否符合正则表达式
<template>
<el-form-item label="正则表达式:" prop="regExpression">
<el-input
v-model="form.regExpression"
:disabled="title == '查看正则规则'"
placeholder="请输入正则表达式"
>
</el-input>
</el-form-item>
</template>
<script>
data(){
let isCheckReg = (rule, value, cb) => {
let flag = this.isReg(value);
if (value == "") {
cb(new Error("请输入正则表达式!"));
} else if (!flag) {
cb(new Error("请输入正确的正则表达式!"));
} else {
cb();
}
};
return{
from:{
regExpression:""
},
rules:{
regExpression: [
{ required: true, message: "正则表达式不能为空!", trigger: "blur" },
{ required: true, validator: isCheckReg, trigger: "blur" },
],
}
}
},
methods:{
isReg(reg) {
let isReg;
try {
isReg = eval(reg) instanceof RegExp
} catch (e) {
isReg = false
}
return isReg
}
}
</script>
javascript 仅支持英文、英文逗号和数字
const checkURL = (rule, value, callback) => {
let reg =
/^[0-9A-Za-z\s\\!\\#\\$\\%\\^\\&\\*\\(\\)\\_\\[\]{\\}\\\\|\\;\\'\\'\\:\\"\\"\\,\\.\\/\\<\\>\\?]+$/;
if (!reg.test(value) && value != "") {
callback(new Error("只支持英文和数字,请重新输入"))
}else{
callback()
}
};