js关于金额输入框正则匹配问题

版权声明:请注明原处! https://blog.csdn.net/qq_36245035/article/details/84932413

首先拿到输入框的值。

方法一:

思路:直接正则匹配

                var val = $(this).val();
                val = val.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符   
                val = val.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的   
                val = val.replace(".","$#$").replace(/\./g,"").replace("$#$",".");  
                val = val.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数   
                if(val.indexOf(".")< 0 && val !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额  
                    val = parseFloat(val);  
                }
                $(this).val(val)

方法二:

思路:表面让用户一个输入框输入,然后将值取出来放到input的type='number'类型里过滤下(这里是隐藏的),这样的值取出来是一个数字,再取出来判断大于0,再渲染到用户输入的框即可。如果不大于0,为空。

猜你喜欢

转载自blog.csdn.net/qq_36245035/article/details/84932413