请帮助我为货币/货币字段编写 JavaScript 验证。
所以请提供任何正则表达式(如果您有:)
此外,对于我所在的地区,不需要在字段中使用任何货币符号,例如“$”。
仅包含小数以作为特殊字符进行验证。以及数字。
最佳答案
您可以使用正则表达式:
var regex = /^\d+(?:\.\d{0,2})$/;
var numStr = "123.20";
if (regex.test(numStr))
alert("Number is valid");
如果您不希望对小数位数那么严格,您可能会发现使用一元 (+
) 运算符转换为数字以检查其有效性会更容易:
var numStr = "123.20";
var numNum = +numStr; // gives 123.20
如果数字字符串无效,它将返回 NaN
(不是数字),您可以轻松测试:
var numStr = "ab123c";
var numNum = +numStr;
if (isNaN(numNum))
alert("numNum is not a number");
当然,它允许用户添加更多小数位,但您可以使用 number.toFixed(2)
舍入到小数点后两位。 parseFloat 对输入的严格程度要低得多,只要该字符串以数字开头,就会从字符串中提取它可以找到的第一个数字,例如。 parseFloat("123abc")
将产生 123
。
关于javascript - 货币验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2227370/