javascript - 控制input输入,只能输入数字小数点后最多保留2位?
巴扎黑
巴扎黑 2017-04-11 12:06:10
0
5
740
最近做input输入的时候,需求是只能让用户输入数字和小数点后最多能输入两位。

开始的做法是监听keydown事件,获取keycode,这样控制用户只能输入数字,但是后来发现安卓手机
在微信浏览器里keycode获取失败了,keycode始终是0。

请教一下大家还有没有什么好点的办法能实现这个需求。

=============================

后来我做了一个keyup事件来,每次事件触发就检查是否符合格式要求,代码如下:
$("#money").keyup(function(){

                var reg = /^\d+\.?(\d{1,2})?$/;
                while (!reg.test($(this).val()) && $(this).val() != "") {
                    $(this).val(checkStr($(this).val()));
                }
            });

            //检查是否符合金额格式:只能输入数字且最多保留小数点后两位
            function checkStr(str) {
                str = str.substring(0,str.length-1);
                return str;
            }
            

但是我这样做有一个坏处就是,假如我之前输入22222这样是符合输入格式的,但是如果我在中间加入一个非法字符就会将后面的全部删掉,例如我输入222a22这样,就会变成222这样.

巴扎黑
巴扎黑

reply all(1)
黄舟

今天自己有需求,所以参考后弄了一个pc的。
现在还有一个bug就是在小数点后面多选的时候没有办法输入,当然还有兼容性的处理。




    
    Document
    


    这是测试地址
    
    
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!