从电话号码中删除特殊字符

3

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

最终,我希望所有的电话号码都以唯一的格式出现,如:915345534534040545453453

我需要一个php的正则表达式来实现这个功能。

我尝试了以下代码:

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

但是,这不起作用。请在此方面帮助我。

2
似乎更像是 JavaScript 代码而不是 PHP。 - Rikesh
3
你意识到,通过实施这个措施,你将无法再区分国际电话号码和国内电话号码了吗?前导的“+”符号是电话号码的一部分。 - Joey
2个回答

12

你把语言混淆了。第一行代码确实是PHP,但第二行是JS吗?

尽管你正在寻找函数preg_replace。

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

5

之前的输出为-> +91-5345534534

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

输出结果-> 最终结果-> 915345534534


为什么在字符类中使用 xX - Toto
这只是无意义的内容,请将其删除,不要受到影响。我使用它是因为我有像这样的字符串+91-92x89XX786。 - dev4092

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接