1、url链接正则
const REGEXP_URL = /(((^https?:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]+)#?(?:[\w]*)))$/
2、经纬度正则
const REGEXP_LAN_LNG = /^[,.0-9]*$/;
3.手机号判断
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }
4、只允许输入中文
{ pattern: /^[\u4E00-\u9FA5]+$/g, message: '请输入中文', trigger: 'blur' }
5、ip格式校验
var validateUserid = (rule, value, callback) => {
const ipReg = /^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$/
const flag = ipReg.test(value) // 验证IP格式
if (flag && isRuleIp) {
this.getRepeatIp().then(res => {
if (res.code !== '0000') {
callback(new Error(res.message))
} else {
callback()
}
})
} else {
callback()
}
}
{ required: true, validator: validateUserid, trigger: ['change', 'blur'] }
6、服务器格式校验
{
pattern: /[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?/,
message: '请输入正确的服务器地址',
trigger: 'blur',
}
7.密码必须包含大小写字母、数字特殊字符
var passwordReg = /^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/
8、不可出现汉字、空格
const assetByname_name = (rule, value, callback) => {
const reg = /[\u4E00-\u9FA5\s]/
if (reg.test(value)) {
callback(new Error('不可出现汉字、空格'))
} else {
callback()
}
}
{ validator: assetByname_name, message: '不可出现汉字、空格', trigger: 'blur', },
9、只允许出现中文、大小写字母、数字和()()[]【】::-_+=
{ pattern: /^[\u4E00-\u9FA5A-Za-z0-9_()()::\【|\】\[|\]+=-]+$/g, message: '只允许出现中文、大小写字母、数字和()()[]【】::-_+=', trigger: 'blur' }
10、只允许输入数字
{ pattern: /^[0-9]*$/, message: '请输入数字', trigger: 'blur' }
11、密码必须包含大小写字母、数字特殊字符
{
trigger: 'blur',
validator: (rule, value, callback) => {
let passwordReg = /^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[^A-Za-z0-9])).*$/
if (!passwordReg.test(value)) {
callback(new Error('密码必须包含大小写字母、数字特殊字符'))
} else {
callback()
}
}
}
12、邮箱地址
{ pattern: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, message: '请输入正确的邮箱地址', trigger: 'blur' }
13.不能输入特殊字符
let specialCharacters = (rule, value, callback) => {
let newValue = value.replace(/[`!?"$^()\-+=<>: ,./;'\\[\]·~!@#¥%…&*()—\{}|《》?:“”【】;‘’,。、_]/g, '');
if(newValue!==value){
callback(new Error('不能输入特殊字符'));
}else{
callback();
}
}
验证:projectName: [{ validator: specialCharacters, trigger: 'blur' }]
14、表单自定义校验
discountAmount: {
validator() {
const { priceType } = props.parentModelFrom;
const { discountAmount, minDiscountAmount, maxDiscountAmount } = addModelFrom.value;
if (discountAmount === null) {
return Promise.reject(new Error('请输入优惠金额'));
} else if (priceType === 2) {
if (minDiscountAmount === null || maxDiscountAmount === null) {
return Promise.reject(new Error('请输入优惠范围'));
} else if (minDiscountAmount > maxDiscountAmount) {
return Promise.reject(new Error('最小范围值不得大于等于最大范围值'));
}
return Promise.resolve();
}
return Promise.resolve();
},
trigger: ['blur', 'input']
},
15、身份证正则
ruleID = /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/