删除除数字,字母x和加号(正则表达式,PHP)之外的所有内容

前端之家收集整理的这篇文章主要介绍了删除除数字,字母x和加号(正则表达式,PHP)之外的所有内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
存在这个问题的许多变体,我尝试了一些生成器,但我似乎找不到与之匹配的正则表达式.假设我的电话号码看起来像“345-324-3243 X039”我想删除除数字,字母x和加号(显示在国际号码中)之外的所有内容.

这是我目前的非工作正则表达式和代码

$phone = "345-324-3243 X039";
preg_replace('[^\d|x|\+]','',$phone);

我希望它出来“3453243243X039”,但我得到“30234-2349”.

解决方法

失去了|因为它是字符类中的文字,请确保捕获大写的“X”(以及小写的“x”),使用正则表达式“/ quotes /”(否则它将其视为“[quotes]”)和使用结果:

$phone = "345-324-3243 X039";
$phone = preg_replace('/[^\dxX+]/',$phone);
// $phone is 3453243243X039

快乐的编码.

猜你在找的正则表达式相关文章