我尋找一種方式來寫這是0.05
如何使用正則表達式馬赫0.05數倍
我需要確認至少有兩個小數位數倍數驗證數字的正則表達式,如果有小數點後第二位這個數字必須是5
我怎麼能修改此:
/^\d+(\.\d{0,2})?$/
感謝任何類型的幫助
我尋找一種方式來寫這是0.05
如何使用正則表達式馬赫0.05數倍
我需要確認至少有兩個小數位數倍數驗證數字的正則表達式,如果有小數點後第二位這個數字必須是5
我怎麼能修改此:
/^\d+(\.\d{0,2})?$/
感謝任何類型的幫助
這會爲你做它:
/^\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
爲什麼你在[05]上放置了一個可選項而不是另一個小數點?我看到如何做這些會使它在數學上是正確的,但我認爲他想小數點在那裏「我需要驗證有至少兩位小數的數字」 – Martyn
這只是我正在尋找.. – AfanfeFana
@AfanfeFana很高興幫助,接受答案,如果這是你需要的。 – wvandaal
\d+\.\d[05]
這應該有效。這種匹配任何數字,其次是任何數字,然後是0或5
@nderscore你確定嗎? –
難道你不想\ d + \。\ d [05]允許123.45這樣的數字嗎? –
@JeanneBoyarsky好點。我編輯了我的答案 – Martyn
'/^\ d +(?:\。\ d [05])?$ /'應該這樣做。 –