限制金额输入框限制

在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);

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容