我必须在点后输入两位数。 例如 23.34 1.22 0.23
以下是示例代码
<input type="text" id="amount" onkeypress="return isNumberKey(this);">
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode;
return (charCode<=31 || charCode==46 || (charCode>=48 && charCode<=57));
}
function validCurrency(amt)
{
return amt.match(/^\d*(.\d{0,2})?$/);
}
答案 0 :(得分:3)
您可以尝试以下正则表达式:
/^\d*(?:\.\d{0,2})?$/
你犯的主要错误并不是用反斜杠转义点。点会接受任何字符。用反斜杠转义的Dot会寻找一个点,而不是任何字符。
答案 1 :(得分:0)
您可以使用这样的正则表达式:
/.*\.\d\d$/
它将匹配:
anything .*
followed by a dot \.
followed by two digits \d\d
anchored to the end $
这是你的功能:
function validCurrency(amt)
{
return amt.match(//.*\.\d\d/$/);
}