我有一個變量,只允許數字,破折號和括號,沒有特定長度的電話號碼,驗證必須在PHP中完成,不允許JavaScript ,使用正則表達式在Php中檢查電話號碼的情況下
編輯 只想讓空間太正則表達式....
感謝
我有一個變量,只允許數字,破折號和括號,沒有特定長度的電話號碼,驗證必須在PHP中完成,不允許JavaScript ,使用正則表達式在Php中檢查電話號碼的情況下
編輯 只想讓空間太正則表達式....
感謝
所以,我有點困惑這裏的問題,但我給它一槍,並希望它讓你到你需要的地方。
這將允許任何包含指定字符的內容。 (303)123-4567
將被允許。作爲將32084248())(21324234--234242-23-
(顯然不是一個電話號碼)
if(preg_match("/^[0-9() -]+$/", $number) {
// Only numbers, parens and hypens allowed
}
如果你想在正則表達式更加嚴格一點,我們可以限制對美國式的數字:
if(preg_match("/^\d{0,3}-?(?:\(\d{3}\)|\d{3})-?\d{3}-?\d{4}$/", $number) {
// US Phone number
}
這將只允許美國樣式編號與可選的國家代碼。查看這個ReFiddle Link查看更多詳盡的匹配數字列表,這將允許。
沒有特定的長度?所以它不會是一個嚴格的美國格式? –
@BenRoux,如果不是,允許哪些國家的格式?薩曼莎,你的正則表達式可能不得不單獨嘗試和匹配每個國家。 –
其實我想要一個變量,只需要驗證,變量不應該包含破折號,palenthesis和數字以外的任何東西 – Abida