<meta charset="utf-8">
不能输入数字,0到9的数字会被过滤掉:
<input onkeyup="value=value.replace(/[0-9]/g,'')">
正则:<font color=orange>/[0-9]/g</font>
const coverFormRules = {
companyName: [
{ required: true, message: '请输入公司名称', trigger: 'blur' },
{ pattern: /^[\u4e00-\u9fa5()()]+$/g, trigger: ['change', 'blur'], message: '公司名称只允许中文、中英文括号' }
],
companyShortName: [
{ required: true, message: '请输入公司简称', trigger: 'blur' },
{ pattern: '^[A-Za-z]+$', trigger: ['change', 'blur'], message: '公司简称只允许英文' }
],
seal: [
{ required: true, message: '请输入印章', trigger: 'change' },
{ pattern: /^[\u4e00-\u9fa5()()]+$/g, trigger: ['change', 'blur'], message: '印章只允许中文、中英文括号' },
{ validator: validateInput, trigger: 'change' }
],
// headerInfo: [{ validator: validateInput, trigger: 'blur' }],
// footerInfo: [{ validator: validateInput, trigger: 'blur' }],
linkman: [
{ required: true, message: '请输入测试单位联系人', trigger: 'blur' },
{ pattern: /^[\u4e00-\u9fa5a-zA-Z]*$/, trigger: ['change', 'blur'], message: '联系人只允许中、英文' },
{ validator: validateInput, trigger: 'blur' }
],
phone: [
{ required: true, message: '请输入测试单位联系方式', trigger: 'blur' },
{
pattern: /^(1[3|4|5|6|7|8|9])\d{9}$|^0\d{2,3}-?\d{7,8}$|^400[016789]\d{6}$|^400-[016789]\d{2}-\d{4}$/,
trigger: ['change', 'blur'],
message: '请输入正确的联系方式'
}
],
email: [
{ required: true, message: '请输入电子邮件', trigger: 'blur' },
{ pattern: /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/, trigger: ['change', 'blur'], message: '请输入正确的邮箱格式' }
],
address: [{ required: true, message: '请输入测试单位地址', trigger: 'blur' }]
}
用到的公共方法,不能含有特殊字符
export const validateInput = function (rule, value) {
if (!checkSpecialKey(value)) {
return Promise.reject('不能含有特殊字符!')
}
return Promise.resolve()
}
const checkSpecialKey = function (str) {
const specialKey = '!@#¥%^&*$'
for (let i = 0; i < str.length; i++) {
if (specialKey.indexOf(str.substr(i, 1)) != -1) {
return false
}
}
return true
}
效果图ant-design的表单: