vue校验规则记录,慢慢补充

电子邮件:
(非必填)

email: [
        { required: false, message: '请填写邮箱', trigger: 'blur' },
        { type: 'string',
          trigger: 'blur',
          validator: (rule, value, callback)=> {
            if(value&&!/^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value)) {
              callback(new Error('邮箱格式不正确'))
            } else {
              callback()
            }
          }
        },
        { type: 'string', message: '长度不能超过30位', trigger: 'blur', max: 30 }
      ],

身份证:

{
          pattern: /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/,
          message: '请输入正确的证件号码',
          trigger: 'blur',
        },

禁止空格

value=value.replace(/\s+/g,'')

仅输入数字加小数点

 value=value.replace(/[^\d.]/g,'')
 仅一个小数点
<el-input v-model="val" placeholder="请输入" oninput="value = value.replace(/[^\d.]/g,'').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^\./g, '')"></el-input>

禁止汉字

value=value.replace(/[(\u4E00-\u9FA5)]/g,'')

小数点后只能输 2 位

str = str.replace(/^\D*([0-9]\d*\.?\d{0,2})?.*$/, '$1')

输入框金额类型限制

<el-input @keyup.native="val = proving2(val)"><el-input>
proving2(num) {
      var str = num
      var len1 = str.substr(0, 1)
      var len2 = str.substr(1, 1)
      //如果第一位是0,第二位不是点,就用数字把点替换掉
      if (str.length > 1 && len1 == 0 && len2 != ".") {
        str = str.slice(1)
      }
      //限制只能输入一个小数点
      if (str.indexOf(".") != -1) {
        var str_ = str.substr(str.indexOf(".") + 1)
        if (str_.indexOf(".") != -1) {
          str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1)
        }
      }
      //正则替换 限制输入框小数点位数,多出的过滤掉
      str = str.replace(/[^\d^\.]+/g, '') // 保留数字和小数点
      str = str.replace(/^\D*([0-9]\d*\.?\d{0,2})?.*$/, '$1') // 小数点后只能输 2 位
      return str
   },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值