php - 电话号码与字母的正则表达式

标签 php regex formatting phone-number

我需要将电话号码格式化为一长串数字(美国电话号码格式)

// I know there are tons more
$phones = array(
    '1(800) 555-1212',
    '1.800.555.1212',
    '800.555.1212',
    '1 800 555 1212',
    '1.800 CALL NOW' // 1 800 225-5669
);

foreach($phones as $phone) {
    echo "new format: ".(preg_replace("/[^0-9]/", "", $phone)."<br />\n";
}

现在应该返回如下内容:

8005551212 (with or without the 1)

但如何使用“立即调用”将号码映射/转换为:

18002255669

最佳答案

为了节省一些打字...

$phoneNumber = strtr($phoneLetters, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "22233344455566677778889999");

关于php - 电话号码与字母的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5331721/

相关文章:

php - 无法在 doctrine php 中找到名为 mysql 的驱动程序

javascript - JavsSript RegEx 匹配任何未被标签包围的 ")",即任何不是 ") "的 ">)<"

regex - 在Perl正则表达式中,单独的反向引用后跟数字文字

python - 在 Python 中将文件输入行读取到多个列表中

php - 数据表警告 : table id=DataTables_Table_0 - Ajax error

PHP 将变量存储在缓存中

php - 坚持基于技能的排名系统

regex - 带有正则表达式的 MongoDB findOne(安全漏洞?)

wpf - 如何使所有文本大写/大写?

用于格式化和解析日期和数字的 JavaScript 库