限制金额输入框限制

2017-11-16  本文已影响0人  屎香味十足

在PC端,后台管理项目中,经常有限制输入框只能输入金额的需求,所以在这边说一下我的实现,首先先理一下需求,需求点:

1、只能输入数字,不能输入其它字符;

2、第一位不能是小数点,且最多只能有一个小数点;

3、小数点后面最多只能有两位;

4、IE浏览器不考虑,因为已经淘汰了,这边考虑兼容firefox与chrome;

首先输入框绑定键盘事件,这边使用onkeypress事件;注意:输入框的type不能是number,不然小数点不会算进value中;

接下来就是写事件主体,这边直接上代码:

functionlimitNumber(event){

   var event=event||window.event,

   code = event.keyCode?event.keyCode:event.which, // firefox浏览器不兼容keyCode

   value = event.target.value;

   if(code ===8)return true; // firefox浏览器,当code === 8 时候,表示按了删除健;chrome则是空

       if(/\d|\./.test(String.fromCharCode(code)) ){ 

       // 小数点最多只能有一个,小数点后面最多为2位

       if((String.fromCharCode(code) ==='.'&& (value.indexOf('.') > -1|| value ==='')) ||

           (/\./.test(value) && value.split('.')[1].length===2)){

               event.preventDefault(event);

       }

       return true;

   }

   event.preventDefault(event);

}
上一篇下一篇

猜你喜欢

热点阅读