簡體   English   中英

創建電話號碼格式標准php

[英]Creating phone number format standard php

我在尋找常用格式的用戶電話號碼時發現了此資源。... http://www.eyesis.ca/projects/formatphone.html

我想知道其他人是否有更好的解決方案。

function formatPhone($string)
{
    $number = trim(preg_replace('#[^0-9]#s', '', $string));

    $length = strlen($number);
    if($length == 7) {
        $regex = '/([0-9]{1})([0-9]{3})([0-9]{3})([0-9]{4})/';
        $replace = '$1-$2';
    } elseif($length == 10) {
        $regex = '/([0-9]{3})([0-9]{3})([0-9]{4})/';
        $replace = '($1) $2-$3';
    } elseif($length == 11) {
        $regex = '/([0-9]{1})([0-9]{3})([0-9]{3})([0-9]{4})/';
        $replace = '$1 ($2) $3-$4';
    }

    $formatted = preg_replace($regex, $replace, $number);

    return $formatted;
} 

他們已經嘗試將放入Zend_Framework已有一段時間了,但是由於某種原因,它並沒有達到1.10的標准。

就個人而言,除非有一個很好的,完善的用於驗證輸入類型的庫(似乎還沒有一個PHP庫),否則我傾向於盡可能多地清理字符串。

對於電話號碼,我將簡單地修剪空格,並提出一個相當簡單的正則表達式來嘗試保持通用性(將“。”替換為“-”等)。

但是請記住,當出現更好的情況時,您可能希望重寫該方法中的邏輯以利用它!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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