【问题标题】:remove special characters from a phone number [duplicate]从电话号码中删除特殊字符[重复]
【发布时间】:2014-03-26 00:11:01
【问题描述】:

我需要删除电话号码中的所有特殊字符。 例如,我的电话号码看起来像这样 +91-5345534534, 040-545453453

最后,我需要所有的 ph 号码都应该采用独特的格式,例如 915345534534040545453453

我需要一个正则表达式才能在 php 中执行此操作。

我正在尝试这样

$ph_number = "+91-5345534534";
filterNum = filterNum.replaceAll("[^0-9]+", $ph_number);

但是,这不起作用。请帮助我。

【问题讨论】:

  • 看起来更像是js代码而不是php。
  • 您确实意识到,通过实施您无法再区分国际号码和国内号码了吗?前导+是电话号码的一部分

标签: php regex


【解决方案1】:

您正在混淆语言。第一行代码确实是PHP,第二行是JS?

虽然你正在寻找函数 preg_replace

$ph_number = preg_replace("/[^0-9]/", "", $ph_number);

【讨论】:

    【解决方案2】:

    输出之前-> +91-5345534534

    $phone = preg_replace('/[^\dxX]/', '', $ph_number);
    echo $phone;
    

    输出-> 之后-> 915345534534

    【讨论】:

    • 为什么xX在字符类中?
    • 没什么,只是删除它不要影响它。我使用是因为我有这样的字符串 +91-92x89XX786
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2012-12-16
    相关资源
    最近更新 更多