2013-04-23 127 views
0

我遇到JavaScript正則表達式的問題。我想匹配實數數字形式1到5. Precission是兩位數字。我的代碼是,但它不起作用。在JavaScript中匹配數字範圍的正則表達式

function validate_prosjek(nmb) 
{ 
    var pattern= new RegExp(/[1-4]\.[0-9][0-9]|5\.00/); 

    return pattern.test(nmb); 
} 

它承認大於5

+1

http://www.regular-expressions.info/floatingpoint.html – 2013-04-23 22:12:11

+0

請注意,沒有任何與jQuery有關,這是所有Javascript功能。這些信息可以幫助您搜索下次要查找的內容。 – 2013-04-23 22:16:23

+0

適用於我的機器。經過http://regexpal.com/ – 2013-04-23 22:16:56

回答

2

您需要的「錨」與^$你的正則表達式匹配的分別字符串的開頭和結尾,較高的實數:

var pattern = /^([1-4]\.[0-9][0-9]|5\.00)$/; 

您還需要轉義.,因爲它是正則表達式中的一個特殊字符,如果正則表達式已在/.../ synax中,則不需要調用new RegExp

+0

@MikeM好的,所以它 - 我發現了一個測試用例,它沒有工作。 – Alnitak 2013-04-23 22:21:50

+0

/^[1-4]\.[0-9][0-9]|^5\.00$/ – 2013-04-23 22:23:32

+0

Final version.Work罰款。如果第二個數字是5並且數字大於10(如15.00 25.00等),那麼你的失敗 – 2013-04-23 22:24:03