正负小数点后两位浮点数--jquery

背景:项目中需要做个对两位小数点的正负浮点数的处理,

要求:非数字或者.字符自动清除,并对.12自动修补.前的0

原理:在输入框中加入两个事件,keyup与blur,keyup处理字符串中非要求的字符,blur中对最终字符串处理成理想的格式111.11

实现:通过七个正则处理掉主功能 val代表输入的字符串

/^d*.?d{0,2}$/ 验证val是否是ddd.dd的格式,是则不处理,否才处理

/[^.0-9]+/ 处理掉val中所有的非数字与.的字符

/(?:d*.d{0,2}|d+)/ 将val处理成正确的格式。

/^d+$/ 当是整数时的处理

/^.d{0,2}$/ 小数点前没有数字时处理

/^d+.d{0,2}$/ 小数点后数字位数在0-2之间时的处理

/^0+[1-9]d*.?d{0,2}$/ val前面有0时的处理

测试数据:

fdfd100.12  122.121  12t12.57  12546  1245.  125.4  154.45.456 .126  005245.121 dfdffd等等

Demo下载

原文地址:https://www.cnblogs.com/qd4world/p/moneyFormat.html