【问题标题】:Change format of phone number更改电话号码格式
【发布时间】:2015-08-09 07:01:01
【问题描述】:

我有一个带有电话号码的字符串,我需要将其从一种格式转换为另一种格式。

例子:

"02030266079" => "0203 026 6079"

我试过了:

$num = "02030266079";
$transformed= preg_replace("/^(/d{4})(/d{3})(/d{4})$/", "$1 $2 $3", $num);

但是什么也没发生!

【问题讨论】:

  • 此外,作为起点,您必须定义明确的规则如何进行转换。一个例子在这里是不够的。特别是因为很可能需要知道在哪里放置这些空间。关于序列的哪一部分是区号等的知识。这不是小事。
  • 首先解释定义格式的模式 - 例如。国际拨号代码+本地拨号代码+号码
  • 对不起。我是这个网站的新手,我保证下次会提出更好的问题。
  • @user2546940 没问题,下次你应该尝试一下。这里preg_replace('~(?<=^\d{4})|(?=\d{4}$)~', ' ', $str);是这个问题的答案。

标签: php regex string formatting phone-number


【解决方案1】:
$number = "12345678901";
$formatted_number = preg_replace("/^(\d{4})(\d{3})(\d{4})$/", "$1 $2 $3", $number);

它是 php 代码,经过良好测试,完美运行

【讨论】:

    猜你喜欢
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 2014-04-01
    • 2012-08-11
    • 2012-07-16
    • 2016-05-04
    相关资源
    最近更新 更多