PHP 去除非整数并将输出重新格式化为电话号码

标签 php mysql string integer reformatting

我正在尝试一种方法,无论插入方式如何,插入数据库的电话号码都遵循相同的约定。

所以 (123) 456.7890123.456.7890

最终都会以 123-456-7890

的形式进入数据库

我认为必须有一个函数允许我去除所有非整数字符,这样 123.456.7890 可以变成 1234567890 然后将其重新格式化为 xxx-xxx-xxxx

也许我对此有误,但我认为 php 必须有一种方法来完成这些事情,因此我们将不胜感激任何帮助。

最佳答案

// Remove any non-number character
$str = preg_replace('/[^\d]/', '', $str);
// Insert dashes
$str = preg_replace('/(\d)(?=(\d{4}|\d{7})$)/', '$1-', $str);

这是 fiddle :http://codepad.viper-7.com/pQlwVw

关于PHP 去除非整数并将输出重新格式化为电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14652680/

相关文章:

c++ - 字符串 vector 不能按预期使用换行符和迭代器? (C++)

java - 仅比较 Java 中数字字符串的初始部分

javascript - Laravel Ajax 调用整个页面

php - 来自 phpmyadmin 数据库的 Google 图表

php - 如何比较两个MySQL表并打印它们之间的差异?

Python - 使用 for 循环而不是 Split 方法或任何其他方式提取子字符串

php - 如何创建正确的 preg_replace 模式?

PHP fatal error :

php - CodeIgniter jar 身份验证

php - 将复杂的多维数据从 API 保存到数据库中