中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中Element-ui 輸入銀行賬號每四位加一個空格的實現代碼

發布時間:2020-09-19 18:51:04 來源:腳本之家 閱讀:467 作者:王可欣 欄目:web開發

一、問題描述:

    我們在輸入銀行賬號會設置每四位添加一個空格,輸入金額,每三位添加一個空格。那么,在vue,element-ui 組件中,如何實現呢?

二、效果圖:

vue中Element-ui 輸入銀行賬號每四位加一個空格的實現代碼

三、實現代碼:

<el-table-column prop="account" label="銀行賬號">
  <template slot-scope="scope">
   <el-input type="text" maxlength="23" v-model="scope.row.account" placeholder="請輸入銀行賬號"   
     @change="validateNum(scope.$index)"></el-input>
  </template>
</el-table-column>
// 輸入銀行卡號
 validateNum (index) {
  this.setNum(this.supplierObjs.supplierBankAccount, index)
 },
// 設置銀行卡號,每四位添加一個空格
 setNum (data, index) {
  data.forEach((element, i) => {
  element.account = element.account.replace(/\s/g, '').replace(/[^\d]/g, '').replace(/(\d{4})(?=\d)/g, '$1 ')
  this.$set(element, 'account', element.account)
  })
 },

四、思路:

   1、在組件的change事件中添加實現方法(因為我們的業務需求是可以添加多個銀行卡號,所以用index做了區分),取出每行的值;

   2、用element.account = element.account.replace(/\s/g, '').replace(/[^\d]/g, '').replace(/(\d{4})(?=\d)/g, '$1 '),類似正則表達式的方法對數據進行處理;

   3、this.$set(element, 'account', element.account),set方法,將處理后的值set到model中,處理后的數據就保存到model中了。

         實現起來也非常簡單,但是因為element-UI沒有提供輸入設置的方法,所以需要自己根據需求完善一下。

補充:下面看下js 填寫銀行卡號時,每4個數字用空格隔開

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <title>Document</title>
  <script src="js/jQuery.js"></script>
</head>
<body>
  <script>
  var num = 0;
  function inputAccount(){
   var str = $('#bankCard').val();
   var elem = document.getElementById("bankCard");
   console.log(elem);
   if(str.length > num){
     var c = str.replace(/\s/g, ""); 
     if(str != "" && c.length > 4 && c.length % 4 == 1){
      $('#bankCard').val(str.substring(0, str.length - 1)+ " " + str.substring(str.length - 1, str.length));
     }
   }
   if(elem.setSelectionRange){//W3C
      setTimeout(function(){
        elem.setSelectionRange(elem.value.length,elem.value.length);
        elem.focus();
      },0);
    }else if(elem.createTextRange){//IE
      var textRange=elem.createTextRange();
      textRange.moveStart("character",elem.value.length);
      textRange.moveEnd("character",0);
      textRange.select();
    }
   num = str.length;
 }
  </script>
  <input type="text" name="" oninput="inputAccount()" id="bankCard" />
</body>


</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <title>Document</title>
  <script src="js/jQuery.js"></script>
</head>
<body>
  <input type="text" name="" id="box" />
  <script>
   $(function(){
    $('#box').keyup(function(){
     var value=$(this).val().replace(/\s/g,'').replace(/(\d{4})(?=\d)/g,"$1 "); 
     $(this).val(value)
    }) 
   }) 
  </script>
</body>
</html>

總結

以上所述是小編給大家介紹的vue中Element-ui 輸入銀行賬號每四位加一個空格的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桃江县| 松潘县| 高要市| 永修县| 绍兴市| 图片| 洞口县| 高唐县| 惠安县| 松溪县| 腾冲县| 广西| 德保县| 左权县| 邵阳市| 乌兰县| 永年县| 永吉县| 松原市| 太湖县| 桐柏县| 南丰县| 鄂托克前旗| 沧源| 施甸县| 新宁县| 汾阳市| 咸阳市| 从江县| 全南县| 焉耆| 凤庆县| 商水县| 襄垣县| 内江市| 成安县| 铜鼓县| 轮台县| 岱山县| 天门市| 黄陵县|