版权声明:请注明原处! 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,为空。