preg_replace 帮助:电话号码
我这里需要一点帮助。此代码正确显示我输入的每种格式 - 除非它是 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要更新查询,以便允许使用 .(点),我添加了
\.?
,这意味着点可能会出现零次或一次。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.我会这样做:
\d
是[0-9]
的简写。使用反向引用意味着您可以输入“123.456.7890”或“123.456.7890”,但不能输入“123.4567890”或“123.456-7890”。另请记住,其他国家/地区有不同的电话号码格式(如果这与您正在做的事情相关)。
I would do this:
\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.