爲了體面和標準化的php功能,我想將用戶輸入的字符串格式化爲std。國際電話號碼格式。 該字符串將作爲數字和+ - 符號從其他字符中剝離。所有空格將被刪除。 ,我想不同的字符串格式化爲標準格式後:格式化電話號碼
+310612345678 -> +31 (0)61 234 5678
00310612345678 -> +31 (0)61 234 5678
+31612345678 -> +31 (0)61 234 5678
//add a leading zero between brackets (0))
0031612345678 -> +31 (0)61 234 5678
06 12345678 -> +31 (0)61 234 5678
//When no country code is given (no 00xx or +xx) than add the dutch one.
這是我有媒體鏈接的功能:我在尋找一個算法來格式化不同的方式
function formatPhoneNumber($num){
//delete everything except digits and +
$number = preg_replace('/[^\d|\+]/', '', $number);
if(substr($number,0,1) == '+' || substr($number, 0,2) == 00){
//
}else{
$number = "+31".$number;
}
/////////
// formatting as mentioned above
/////////
return $num
}
的用戶輸入的電話號碼爲一種格式:+31(0)61 2345678
有點滑稽,Skype的Firefox插件將所有這些電話號碼轉換成一種小部件。 – 2009-10-06 10:59:56
你的問題是什麼?您是否在尋找代表電話號碼的標準(在這裏回答:http://www.itu.int/rec/T-REC-E.123-200102-I/e)?你是否正在用正則表達式來轉換字符串到另一個字符串?你在尋找一種算法嗎? – mouviciel 2009-10-06 11:43:39
我的確在尋找一種算法將這些不同的數字轉換成一種格式。 – blub 2009-10-06 12:53:32