我想在我的表單中驗證數字字段(價格)。
我嘗試以這種方式驗證格式,如10.00
,這沒關係。php preg_match驗證價格格式
$pattern = '/^\d+(:?[.]\d{2})$/';
if (preg_match($pattern, $_POST['price']) == '0') {
echo "ERROR";
exit;
}
現在,我想驗證,同時,字段格式像10.00
和10
。 我怎麼能這樣做?
我想在我的表單中驗證數字字段(價格)。
我嘗試以這種方式驗證格式,如10.00
,這沒關係。php preg_match驗證價格格式
$pattern = '/^\d+(:?[.]\d{2})$/';
if (preg_match($pattern, $_POST['price']) == '0') {
echo "ERROR";
exit;
}
現在,我想驗證,同時,字段格式像10.00
和10
。 我怎麼能這樣做?
您的新模式:
$pattern = '/^\d+(?:\.\d{2})?$/';
將驗證:
10
10.00
如果你想無效這種零領先的數值作爲05.00,以下模式將幫助:
$pattern = '/^(?:0|[1-9]\d*)(?:\.\d{2})?$/';
完美!非常感謝你! –
對於那些想要數據庫'DECIMAL(10,4)'驗證的人:'/^\ d {1,10}(?:\。\ d {1,4})?$ /'。 – TheFrost
如果你只是檢查它是否是一個數字,is_numeri c()在這裏好得多。它比正則表達式更可讀,更快捷。
http://regex101.com/r/nY0fV0 –