iT邦幫忙

0

如何將手機格式轉化為 886?如何從字頭開始?

我目前是用 php 判斷

if(preg_match("/09[0-9]{2}[0-9]{6}/", $phone)){

可以確定至少開頭要 09
但我要再之後轉成 +886 格式(金流格式需要)
我要怎麼抓到開頭的 0 然後替換成 +886 呢?
我找到 substr 函數好像都只能從字尾開始?
我也有找到替換的函數 str_replace 了~
只是差在怎麼從字頭開始?

柯柯 iT邦新手 5 級 ‧ 2018-07-25 10:48:47 檢舉
str_replace( substr($phone,0,1), '+886', $phone ) 這樣?

1 個回答

0
最佳解答

應該是這樣,簡單的格式問題盡量不用regular expression做

function changePhoneFormat($phoneNumber){
    $check_number = substr($phoneNumber, 0, 2);
    return $check_number == '09' ?  '+886'.substr($phoneNumber, 1, strlen($phoneNumber)) : $phoneNumber;
}

$phoneNumber = '0928222444';
echo changePhoneFormat($phoneNumber);
+886928222444

我要發表回答

立即登入回答