vue+element实现银行卡号只输入数字,四个补一个空位,并实现校验

14 篇文章 0 订阅

vue+element实现银行卡号只输入数字,四个补一个空位,并实现校验


在这里插入图片描述

html 输入框只输入数字

// type设置为text
<el-form-item label="卡号" prop="bankNumber">
     <el-input v-model="form.bankNumber" placeholder="请输入银行卡号" type="text" />
</el-form-item>

watch 监听实现四个数字补一个空位

  ['form.bankNumber'](val) {
        if (val != undefined) {
          this.$nextTick(() => {
            this.form.bankNumber = val.replace(/\D/g, '').replace(/....(?!$)/g, '$& ');
          });
        }
      }

自定义卡号校验规则

data() {
      var bankAccountValid = (rule, value, callback) => {
        const strBin = '10,18,30,35,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,60,62,65,68,69,84,87,88,94,95,98,99'
        if (!value) {
          return
        } else if (value.trim().length < 12 || value.trim().length > 19) {
          callback(new Error('银行卡号长度必须在12到19之间'))
        } else if (strBin.indexOf(value.substring(0, 2)) === -1) {
          callback(new Error('银行卡号开头6位不符合规范'))
        } else {
          callback()
        }
      };
      return {
        // 表单校验
        rules: {
          bankNumber: [
            {
              required: false, trigger: 'blur', validator: bankAccountValid
            }
          ]
        },
      };
    },
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值