请帮我写一个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)
舍入任何多余的舍入到小数点后2位。 parseFloat
对输入的要求不那么严格,并且会从字符串中选择它可以找到的第一个数字,只要该字符串以数字开头即可。 parseFloat("123abc")
将产生123
。关于javascript - 货币验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2227370/