常用js正则表达校验

<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的表单:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值