我有收集用戶詳細信息的網站表單。手機提交的內容非常棒,因爲它可以驗證電話號碼並防止任何人將該字段留空或鍵入單詞。用於手機驗證和不良號碼過濾器的正則表達式
這裏是我的正則表達式如何尋找該領域:
if (!preg_match('/^[0-9ext()+ -.:]{9,35}$/i', $Phone)){
$error.= "<li><font face=arial>Phone number is <em><strong>required</strong></em> if you're truly serious about generating $500/Day. Enter full number with area code. Also, you should use only the following characters: '+' , '0-9' , ' (' , ') ' , 'ext' , or 'x'. Example, <strong>(123) 555-1212</strong></font><br><br>";
$errors=1;
}
我得到的問題是,有些人進入僞造的號碼,如「555-1212」或「5551212」。如果有人添加假冒的「5551212」號碼,我怎麼能添加到上面的正則表達式來拋出錯誤消息?
輸入手機號:(應5551212
匹配的字符串)
1-800-555-1212
8585551212
(619) 555-1212
感謝你真棒幫助!
字符類是字符或範圍,而不是字的列表。 '-'還需要在你的角色等級中轉義,或者轉移到開始或結束。 – chris85
所以,如果我正確地閱讀了這個問題,如果前三個字符是'555',就不允許這麼做。如果這是正確的,也許'^(?!555)[0-9ext()+。: - ] {9,35} $'有效嗎? – chris85
請添加幾個最佳案例輸入的例子。和另外兩個不好的情況。我不確定您要驗證的輸入 –