preg_replace 帮助:电话号码

发布于 2024-08-19 18:51:04 字数 179 浏览 6 评论 0原文

我这里需要一点帮助。此代码正确显示我输入的每种格式 - 除非它是 xxx.xxx.xxxx

它保留了句点!我如何也过滤掉经期?

preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "$1-$2-$3", $phone_enter)

I need a little help here. This code correctly displays every format I enter--except when it's xxx.xxx.xxxx

It keeps the periods in! How do I filter out periods too?

preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "$1-$2-$3", $phone_enter)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

说谎友 2024-08-26 18:51:04

您需要更新查询,以便允许使用 .(点),我添加了 \.?,这意味着点可能会出现零次或一次。

preg_replace("/([0-9]{3})\.?([0-9]{3})\.?([0-9]{4})/", "$1-$2-$3", $phone_enter)

You need to update the query so it will allow a . (dot), i added the \.? which means, a dot may appear zero or one time.

preg_replace("/([0-9]{3})\.?([0-9]{3})\.?([0-9]{4})/", "$1-$2-$3", $phone_enter)
半衬遮猫 2024-08-26 18:51:04

我会这样做:

preg_replace('/(\d{3})([.-])?(\d{3})\2(\d{4})/', '$1-$3-$4', $phone_number);

\d[0-9] 的简写。使用反向引用意味着您可以输入“123.456.7890”或“123.456.7890”,但不能输入“123.4567890”或“123.456-7890”。

另请记住,其他国家/地区有不同的电话号码格式(如果这与您正在做的事情相关)。

I would do this:

preg_replace('/(\d{3})([.-])?(\d{3})\2(\d{4})/', '$1-$3-$4', $phone_number);

\d is shorthand for [0-9]. The use of the backreference means you can enter "123.456.7890" or "123.456.7890" but not "123.4567890" or "123.456-7890".

Also bear in mind that other countries have different phone number formats, if that's relevant to what you're doing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文