例如在PHP中:
<?php
$input = "+44 161 999 8888";
//$input = "011 44 (161) 999 8888";
//$input = "1-408-999 8888";
//$input = "+1 (408) 999 8888";
//$input = "222 8888";
//$input = "0161 999 8888";
//$input = "01-2222 8888";
//$input = "+44 1-2222 8888";
//$input = "+91-80-26584050";
//$input = "26584050";
preg_match("/(^\+[0-9]+\ [0-9]+\ [0-9]+\ [0-9]+$|^[0-9]+\ [0-9]+\ \([0-9]+\)\ [0-9]+\ [0-9]+$|^[0-9]+\-[0-9]+\-[0-9]+\ [0-9]+$|^\+?[0-9]+\ \([0-9]+\)\ [0-9]+\ [0-9]+$|^[0-9]+\ [0-9]+$|^[0-9]+\ [0-9]+\ [0-9]+$|^[0-9]+\-[0-9]+\ [0-9]+$|^[0-9]+\ [0-9]+\-[0-9]+\ [0-9]+$|^\+[0-9]+\-[0-9]+\-[0-9]+$|^\+[0-9]+\ [0-9]+\-[0-9]+\ [0-9]+$|^[0-9]+$)/", $input, $m);
echo $input;
print_r($m);
正則表達式分隔:
/(
^\+[0-9]+\ [0-9]+\ [0-9]+\ [0-9]+$|
^[0-9]+\ [0-9]+\ \([0-9]+\)\ [0-9]+\ [0-9]+$|
^[0-9]+\-[0-9]+\-[0-9]+\ [0-9]+$|
^\+?[0-9]+\ \([0-9]+\)\ [0-9]+\ [0-9]+$|
^[0-9]+\ [0-9]+$|^[0-9]+\ [0-9]+\ [0-9]+$|
^[0-9]+\-[0-9]+\ [0-9]+$|^[0-9]+\ [0-9]+\-[0-9]+\ [0-9]+$|
^\+[0-9]+\-[0-9]+\-[0-9]+$|
^\+[0-9]+\ [0-9]+\-[0-9]+\ [0-9]+$|
^[0-9]+$)/
如果您需要的數量,變化的具體lengh 「+」爲{number},例如長度爲4個字符{4}
[0-9]{4}
我需要傳真號碼正則表達式,但整體國家 – Wenson
這是一個大量的模式匹配。你有沒有嘗試過任何東西? –
是的,我試了一個小時。我不是正則表達式的專家 – Wenson