web 机动车车牌录入组件

1. html  使用的是element ,from  因为我使用的是多个车牌录入,所以是双重循环,单个可以把index 相关的删掉

<el-form-item

                label="车牌号码"

                :rules="[

                  {

                    required: true,

                    message: '请输入车牌号码',

                    trigger: 'blur',

                  }

                ]"

              >

                <div class="jdc-box" :id="'jdc' + index">

                  <el-input

                    v-for="(i, k) in item.jdccphm"

                    :key="k"

                    v-model="i.num"

                    placeholder=""

                    maxlength="1"

                    :class="'jdcInput' + index + k"

                    @input="jdcCphmChange($event, index, k)"

                    @keyup.native.delete="jdcDel(index,k)"

                  >

                  </el-input>

                  <div class="el-form-item__error">{{item.errorMeg}}</div>

                </div>

              </el-form-item>

2.

clxqList: [

          {

            cphm: "", //车牌号码

            jdccphm: [

              { num: "" },

              { num: "" },

              { num: "" },

              { num: "" },

              { num: "" },

              { num: "" },

            ],

            errorMeg:'',

          },

3.

// 机动车车牌号码 input事件

    jdcCphmChange(val, index, k) {

      let arr = this.addClForm.clxqList[index].jdccphm;

      if(val){

          this.addClForm.clxqList[index].cphm += arr[k].num;

          console.log(this.addClForm.clxqList[index].cphm,'qqqqq')

        if (k < 5&&0 <= k) {

          // 下一input聚焦

          let dom = document.getElementsByClassName(

            "jdcInput" + index + (k + 1)

          )[0].children[0];

          dom.focus();

        } else {

          if(this.addClForm.clxqList[index].cphm.length>=6){

            var regu =/^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{3,}[A-Z0-9挂学警港澳]{1})$/; //这里的校验可以根据项目需求自行更改

            var re = new RegExp(regu);

            let cphm = this.addClForm.clxqList[index].cphm;

            if (re.test(cphm)) {

              // 通过校验清空报错

                  this.addClForm.clxqList[index].errorMeg = ''

                  return true;

                }else{

                  this.addClForm.clxqList[index].errorMeg = '车牌号格式错误(字母必须大写)'

                  return false;

                }

            }

        }

      }else {

        // 如果没值 删除当前k对应的索引下标

        let arr = this.addClForm.clxqList[index].cphm.split("");

        arr.splice(k,1);

        this.addClForm.clxqList[index].cphm = arr.join("");

        if (k < 6&&0 < k) {

          // 前一input聚焦

          let dom = document.getElementsByClassName(

            "jdcInput" + index + (k - 1)

          )[0].children[0];

          dom.focus();

        } else {

          return

        }

      }

     

    },

// 机动车车牌号码 delete

    jdcDel(index, k){

      let arr = this.addClForm.clxqList[index].jdccphm;

      // 如果当前删除的框已为空,那么聚焦到前面一个框

      if(!arr[k].num){

        if(k>=1){

          // 前一input聚焦

          let dom = document.getElementsByClassName(

            "jdcInput" + index + (k - 1)

          )[0].children[0];

          dom.focus();

        }

      }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值