[英]PHP - RegEx Matching Phone Numbers with or without country code
我想在php中編寫一個匹配方法,允許我匹配電話號碼。
我的情況是,我想構建一個應用程序,從Android設備中提取電話聯系號碼,在后端,它將匹配與當前應用程序用戶的手機聯系人,如果有匹配,然后將這些用戶添加為朋友,類似於whatsapp在將手機通訊錄與在其設備中使用whatsapp app的用戶進行匹配時的操作方式。
我現在遇到的問題是我如何編寫一個RegEx,可以匹配帶/不帶國家代碼或前導零的電話號碼。
在應用程序中,我要求用戶的國家和電話號碼,所以例如我的一個朋友輸入了這些值:國家:約旦(+962)電話號碼:799633999這在后端將存儲為+962799633999
如果我們假設我的朋友編號為0799633999,那么我可以使用的regEx與0799633999匹配+96279963999是什么?
你的正則表達式是#(\\+\\d+|0)(\\d{9})$#
你不用正則表達式這樣做。 截斷您的前導零和國家/地區代碼並進行常規字符串比較。
如果聯系人可以來自不同的國家/地區,請添加您正在尋找朋友的國家/地區代碼。
請參考此鏈接,您可以使用此正則表達式:
^([0|\+[0-9]{1,5})?([7-9][0-9]{9})$
php代碼:
$re = '/^([0|\+[0-9]{1,5})?([7-9][0-9]{9})$/';
$str = '+2529371208646';
preg_match_all($re, $str, $matches);
print_r($matches);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.