我有一個用戶表單,我在其中一個字段中輸入電話號碼作爲輸入。我有兩個單獨的RegEx語句檢查輸入。preg_replace在我的PHP腳本不起作用
第一個是:
preg_match('/^([\(]{1}[0-9]{3}[\)]{1}[\.| |\-]{0,1}|^[0-9]{3}[\.|\-| ]?)?[0-9]{3}(\.|\-|)?[0-9]{4}$/', $phone);
和它的偉大工程。它可以識別多種不同的格式,即222-333-4444或者2224445555.
在另一方面,當我嘗試:
preg_replace('/\+?1?[-\s.]?\(?(\d{3})\)?[-\s.]?(\d{3})[-\s.]?(\d{4})/g', '($1) $2-$3', $phone);
這是應該進入的字符串格式化爲(222)3334444格式,$ preg_replace()調用後$ phone保持不變。
任何幫助將不勝感激!
我不確定您希望以這種方式替換文本中的$值。你有4個捕獲組,你引用3個。不應該最後一個是4美元? – kapa 2010-10-21 06:38:57
@bazmegakapa當我將preg_replace中顯示的這種模式插入http://gskinner.com/RegExr/時,它完美地工作。我的問題在PHP腳本中。我必須在那裏做錯事。 – incognito 2010-10-21 15:10:32