0
我想進行一次數字驗證,檢查用戶是否在每三位數後都沒有添加點。我打算使用refex進行驗證Php正則表達式每個三位數之後的點號
因此,例如11.231.121.313是有效數字,也是11231121313,但11231.121.313不是。
我想進行一次數字驗證,檢查用戶是否在每三位數後都沒有添加點。我打算使用refex進行驗證Php正則表達式每個三位數之後的點號
因此,例如11.231.121.313是有效數字,也是11231121313,但11231.121.313不是。
^(\d+|\d{1,3}(\.\d{1,3})*)$
第一交替可以讓你有簡單的所有數字。第二個檢查1-3位數字,可選地跟隨一組小數點,其後1-3位數字。這適用於你的例子。
試試這個
if (preg_match('/^(\d{1,3}(\.\d{3})+|\d+)$/', $number)) {
// correct number
}
UPD:添加表達式僅數
是的,這是有效的。我在過去的30分鐘裏試過5次正常表達,但沒有成功。謝謝。 –
最終'\ d'字符類應該是'\ d {3}',而不是'\ d {1,3}',因爲它當前接受無效輸入:[example](http://codepad.viper-7 .com/4JAtuH)... – ircmaxell
@ircmaxell很好;我對這個問題的要求還不清楚。我認爲'11.11.11.11'也是有效的。如果情況並非如此,那麼@ircmaxell說你可以改變重複要求 –