輸入框數字、百分比、價格 自動驗證 JS

自動驗證輸入框並矯正輸入值,將js引入頁面中,並在要添加驗證的輸入框中添加相應class

1、class =‘percentage’ ,驗證是否爲百分比,要求輸入0-100範圍內的整數。

$('body').on('keyup blur', '.percentage', function (even) {
             if(even.keyCode>=37&&even.keyCode<=40){
                 return false;
             }
             e = $(this);
             if (!/^(?:100|[1-9][0-9]?|0)$/.test(e.val())) {
                 e.val(/100|[1-9][0-9]?/.exec(e.val()));
                 if (e.val() == "") {
                     e.val(0);
                 }
             }
  });

2、class =‘number’ ,驗證是否爲整數。

$('body').on('keyup blur', '.number', function (even) {
             if(even.keyCode>=37&&even.keyCode<=40){
                 return false;
             }
             e = $(this);

             if (!/^([1-9]\d*|0)$/.test(e.val())) {
                 e.val(/[1-9]\d*/.exec(e.val()));
                 if (e.val() == "") {
                     e.val(0);
                 }
             }
  });

2、class =‘price’ ,驗證是否爲價格,保留兩位小數。

$('body').on('keyup blur ', '.price', function (even) {
             if(even.keyCode>=37&&even.keyCode<=40){
                 return false;
             }

             e = $(this);
             var price =e.val();

             if(!/^(([1-9]\d*[.]\d\d?)|([0][.]\d\d?)|([1-9]\d*)|0)$/.test(price)){
                     price= /[1-9]\d*[.]\d\d?/.exec(e.val());
                     price=price?price:/[0][.]\d\d?/.exec(e.val());
                     price=price?price:/[1-9]\d*/.exec(e.val());

                     price=(price=='' || price==null?0:price);

                     price=/^[^.]+[.]$/.test(e.val())?price+".":price;

                     e.val(price);

             }
  });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章