2013-02-18 40 views
0

基本上我需要做的是,當我有這樣一個電話號碼:31655334868我需要更改到:1655334868(除去第一3PHONENUMBER正則表達式來解決這個前綴

但我也可以有0031655334868然後我需要將其更改爲:1655334868

我該如何在PHP中使用正則表達式?還是有更好的替代方法?

+3

從您的示例y你可以從最後10個字符中刪除'substr'。 – 2013-02-18 15:57:17

+0

@kolink Upvote爲最簡單的答案不是我們大多數人都準備找到:) – 2013-02-18 15:58:46

+0

大聲笑..尼斯答案...但沒有...我可以有10或9個字符的電話號碼..是前綴是依賴於國家 – vsergiu 2013-02-18 16:00:09

回答

1

如果你想用正則表達式來做到這一點,那麼你可以使用下面的代碼:

(這也考慮到了,你可以有很多開始+31

$phone1 = '31655334868'; 
$phone2 = '0031655334868'; 
$phone3 = '+31655334868'; 

if (preg_match ('/^.*3([0-9]{10})$/', $phone2, $matches)) 
{ 
    print_r($matches); 
    echo $matches[1]; // will always contain the desired result 
} 
else 
{ 
    echo 'no'; 
} 

工作示例:

http://codepad.viper-7.com/FAuh2c

0
echo substr($phoneNumber, -10); 
+0

返回'3165533486'爲第一個例子,'0031655334'爲第二個例子。你有沒有想過? – 2013-02-18 16:00:44

+0

謝謝神祕,正在編輯它,你打敗了我 – Nick 2013-02-18 16:01:01

+1

@JohnDoe格式正確或不正確,但它仍然是錯誤的。 – 2013-02-18 16:01:44