我一直在嘗試驗證電話號碼的格式爲。我已成功刪除所有特殊字符的電話號碼,但如果輸入的電話號碼是+15555555555,則該號碼在號碼的開始處仍包含「1」。無論如何刪除+1和特殊字符?從電話號碼中刪除特殊字符和+1
我目前的正則表達式是preg_replace('/^1|\D/', "", +15555555555);
。
任何幫助,將不勝感激!
我一直在嘗試驗證電話號碼的格式爲。我已成功刪除所有特殊字符的電話號碼,但如果輸入的電話號碼是+15555555555,則該號碼在號碼的開始處仍包含「1」。無論如何刪除+1和特殊字符?從電話號碼中刪除特殊字符和+1
我目前的正則表達式是preg_replace('/^1|\D/', "", +15555555555);
。
任何幫助,將不勝感激!
您不需要正則表達式。
str_replace('+1', '', $string)
會做到這一點。但要解釋爲什麼您的正則表達式當前失敗,您的字符串不會以1
開頭,它始於+1
,因此^1
不匹配。
演示當前使用的:https://regex101.com/r/kwwp1r/1/
一個可能的正則表達式溶液的演示:https://regex101.com/r/kwwp1r/2/
^\+1
只需更換+1從中
$phone_num = "+15555555555";
$phone_num = preg_replace('/\+1/','',$phone_num);
echo $phone_num;
或者你可以使用str_replace函數( '+ 1', '',$ PHONE_NUM),或。我總是習慣使用preg_replace。
'str_replace函數( '+ 1', '',$數);'---,但是,從另一方面+ {countrycode} {number}格式是國際電信聯盟的標準化建議 - - [E.164](https://en.wikipedia.org/wiki/E.164)標準,因此可能保留它? –
好吧,爲了完整性,我想保留數字10位。儘管我可能會這樣做。感謝您的反饋! – ch0chi