js實現輸入銀行卡號隔四位添加一個空格


歐巴教我學習JavaScript的第二天,作為一個腳本絕緣體的我,實現了第一個小插件。

首先分析思路:

1、實時監控輸入input框內的值,計算value的長度,當輸入到第四個數字后添加一個空格;

2、限制input框內只能輸入數字和空格,這個需要用正則表達式來實現比較簡單,然后限制輸入值得最大長度是多少;

3、實現以上功能后你就會發現刪除input框內值得時候出現一個問題,當你刪除第5個值時就會被檢測到value的長度為4時,自動添加一個空格,從而成為死循環。解決方法,判斷按鍵是否為Backspace鍵,如果是則不執行函數。

(里邊有運用到jquery,用的時候加載jQuery庫)

 1 <input type="text" id="test" name="textfield"  maxlength="23"  />
 2 
 3         <script>
 4             $("#test").keyup(function a (e) {
 5                 var obj = e;
 6                 if(obj.keyCode != 8){                                                        //判斷是否為Backspace鍵,若不是執行函數;
 7                     var b = document.getElementById("test").value;        //定義變量input  value值;
 8                     var maxValue = 23;                                                       //限制輸入框的最大值;
 9                     b = b.replace(/[^\d\s]/g,"");                                         //正則表達式:如果輸入框中輸入的不是數字或者空格,將不會顯示;
10                    document.getElementById("test").value = b;               //把新得到得value值賦值給輸入框;
11 for(n=1;n<=4;n++){ 12 if(b.length <=5*n-2||b.length>5*n-1){ //判斷是否是該加空格的時候,若不會,還是原來的值; 13 b = b; 14 }else{ 15 b = b +" "; //給value添加一個空格; 16 document.getElementById("test").value = b; //賦值給輸入框新的value值; 17 } 18 } 19 } 20 21 }); 22 </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM