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

标签 php regex phone-number

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

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

我认为这与正则表达式有关。我是编程新手,在这里完全是自学的,所以任何与执行文本处理相关的资源都会受到赞赏。谢谢!

最佳答案

对于这个来说,正则表达式绝对是矫枉过正。如果您想获取一个“电话号码”并将其规范化为 10 位数字,那么这将是一个正则表达式的好用处。要执行您的要求,只需执行以下操作:

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

由于您已经知道如何划分数据,您可以使用 substr 或类似的东西来获取您想要的部分。 RegEx 对于匹配并不总是具有严格格式的字符串很有用。 (比如可变数量的空格、前后可变的东西、额外的破折号等)。但是在您的情况下,输入始终严格格式化为 10 位数字,仅此而已,因此您不需要 RegEx 的额外开销来格式化它。

关于php - 如何将 10 位数字的字符串格式化为电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089923/

相关文章:

php - Smarty 日期和时间比较

php - 刷新、锁定 MySQL 表和复制数据文件夹

javascript - 正则表达式 - 获取引号之间的字符

在 C 中编译/匹配 POSIX 正则表达式

java - 如何以编程方式获取我的设备的手机号码?

java - 从电话号码中删除破折号

非 OOP 程序员的 PHP 框架

php - 如何在 php 中生成安全的激活字符串?

javascript - ExtJS - 使用 RegEx 过滤缓冲存储

regex - Oracle 正则表达式中的前瞻