[英]Creating phone number format standard php
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.