2012-06-23 66 views
1

我有一個變量,只允許數字,破折號和括號,沒有特定長度的電話號碼,驗證必須在PHP中完成,不允許JavaScript ,使用正則表達式在Php中檢查電話號碼的情況下

編輯 只想讓空間太正則表達式....

感謝

+0

沒有特定的長度?所以它不會是一個嚴格的美國格式? –

+0

@BenRoux,如果不是,允許哪些國家的格式?薩曼莎,你的正則表達式可能不得不單獨嘗試和匹配每個國家。 –

+0

其實我想要一個變量,只需要驗證,變量不應該包含破折號,palenthesis和數字以外的任何東西 – Abida

回答

2

所以,我有點困惑這裏的問題,但我給它一槍,並希望它讓你到你需要的地方。

這將允許任何包含指定字符的內容。 (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查看更多詳盡的匹配數字列表,這將允許。

+0

謝謝本,只是我需要的東西 – Abida

+0

很高興聽到!祝你好運。 –

+0

嘿本可以告訴如何讓這個空間太 – Abida