You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整JS正则匹配规则仅提取电话号码而非日期?

解决JavaScript正则误将日期识别为电话号码的问题

你的正则表达式/[0-9]+-[0-9]+-[0-9]{2,}/没有限定各段数字的长度,所以会把4-2-2格式的日期也当成符合规则的匹配项。要只匹配目标电话号码(3-3-4格式),可以修改正则为:

phone = htmlCode.match(/\b\d{3}-\d{3}-\d{4}\b/)[0];

改动说明:

  • \b:单词边界,确保匹配的是独立完整的号码,不会被其他字符干扰
  • \d{3}:指定前两段必须是3位数字,对应电话号码的区号和中间段
  • \d{4}:指定最后一段必须是4位数字,对应电话号码的尾号

这样修改后,只会匹配517-156-4435,而2002-01-23因为是4-2-2的格式,不符合正则规则,就不会被误匹配了。如果需要适配其他格式的电话号码,只需调整各段\d后面的数字长度即可。

内容的提问来源于stack exchange,提问作者Peterson Rainey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:54:52