2014-05-15 14 views
0

我尋找一種方式來寫這是0.05如何使用正則表達式馬赫0.05數倍

我需要確認至少有兩個小數位數倍數驗證數字的正則表達式,如果有小數點後第二位這個數字必須是5

我怎麼能修改此:

/^\d+(\.\d{0,2})?$/ 

感謝任何類型的幫助

+0

'/^\ d +(?:\。\ d [05])?$ /'應該這樣做。 –

回答

0

這會爲你做它:

/^\d+(?:\.\d)?[05]?$/ 

這個正則表達式的好處是,它也將允許與有理數只有十分之一的數字

var re = /^\d+(?:\.\d)?[05]?$/; 

re.test(1.77) 
=> false 
re.test(1) 
=> true 
re.test(1.05) 
=> true 
re.test(1.07) 
=> false 
re.test(1.1) 
=> true 
re.test(1.10) 
=> true 
re.test(.5) 
=> true 
re.test(123.5) 
=> true 
+0

爲什麼你在[05]上放置了一個可選項而不是另一個小數點?我看到如何做這些會使它在數學上是正確的,但我認爲他想小數點在那裏「我需要驗證有至少兩位小數的數字」 – Martyn

+0

這只是我正在尋找.. – AfanfeFana

+0

@AfanfeFana很高興幫助,接受答案,如果這是你需要的。 – wvandaal

1
\d+\.\d[05] 

這應該有效。這種匹配任何數字,其次是任何數字,然後是0或5

+0

@nderscore你確定嗎? –

+1

難道你不想\ d + \。\ d [05]允許123.45這樣的數字嗎? –

+0

@JeanneBoyarsky好點。我編輯了我的答案 – Martyn