我有以下代码来匹配电话号码并将其存储在变量“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,所以任何事情都有帮助。
将正则表达式更改为
[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-9]{3}-[0-9]{3}-[0-9]{2,}/
。
PS:这不是你在这里使用的
javascript
,而是regex
。这是尝试正则表达式的有用网站 - https://regexr.com/