使用匹配功能从存储的数据中挑选电话号码

问题描述 投票:0回答:2

我有以下代码来匹配电话号码并将其存储在变量“phone”中。但是它也将日期与电话号码匹配。例如,如果我给它以下字符串:

html.Code = 'call us at 517-156-4435 on the date 2002-01-23'
以下匹配函数同时保存
'517-156-4435'
'2002-01-23'
。我该如何调整代码,使其只保存
'517-156-4435'
数字?

phone = htmlCode.match(/[0-9]+-[0-9]+-[0-9]{2,}/)[0];

我不知道要采取什么其他步骤来解决这个问题,我刚刚开始学习 javascript,所以任何事情都有帮助。

javascript match
2个回答
0
投票

将正则表达式更改为

[0-9]{3}-[0-9]{3}-[0-9]{4}

您正在使用

{2,}
表示 2 到无穷大之间的值。所以
2002-01-23
有两个数字 (23),因此匹配它。

假设您的电话号码始终采用

012-345-6789
的格式,那么
[0-9]{3}-[0-9]{3}-[0-9]{4}
应该适合您。


0
投票

您的情况可以尝试

/[0-9]{3}-[0-9]{3}-[0-9]{2,}/

PS:这不是你在这里使用的

javascript
,而是
regex
。这是尝试正则表达式的有用网站 - https://regexr.com/

© www.soinside.com 2019 - 2024. All rights reserved.