如何编写代码,使用javascript后只允许两位数?

时间:2013-04-08 13:05:31

标签: javascript regex dom

我必须在点后输入两位数。 例如 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})?$/); 
} 

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/$/); 
}