簡體   English   中英

PHP - RegEx匹配帶或不帶國家/地區代碼的電話號碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM