你如何将10位数的字符串格式化为电话号码?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (30)

我有10个字符长字符串的数据库记录,例如4085551234。

我希望将这些文件格式化为:(408)555-1234。

提问于
用户回答回答于

echo '('.substr($data, 0, 3).') '.substr($data, 3, 3).'-'.substr($data,6);

用户回答回答于

function format_phone($phone)
{
    $phone = preg_replace("/^\d/", "", $phone);

    if(strlen($phone) == 7)
        return preg_replace("/(\d{3})(\d{4})/", "$1-$2", $phone);
    elseif(strlen($phone) == 10)
        return preg_replace("/(\d{3})(\d{3})(\d{4})/", "($1) $2-$3", $phone);
    else
        return $phone;
}

扫码关注云+社区