我用正则表达式编写了以下 js。它按预期工作,但我希望简化它。有人可以帮我吗?
.12345 - 成功
0.12345 - 成功
12345.12345 - 成功
0.123456 失败 - 我希望这是动态的并且不限于 5
1.123.45失败
1..失败
..失败
abc - 失败
function clearNonNumericChars(field) {
field.val(field.val().replace(/([^0-9\.])/g,""));
field.val(field.val().replace(/^(\d*\.[0-9]{5})\d+$/g,"$1"));
field.val(field.val().replace(/(\.\d*)(\.)$/g,"$1"));
}
最佳答案
不要将数字作为字符串处理。
isNumberValid = function(n) {
return (n == Math.round(n*10000)/10000)
}
关于javascript - 正则表达式数字与单个小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938451/