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

JavaScript正则表达式匹配需求:仅匹配以144开头的字符串

解决你的正则匹配问题

嘿,我来帮你搞定这个正则的坑!你的问题出在对正则里*的理解上——你写的144*,这里的*是作用在最后一个4上的,意思是匹配14后面跟着0个或多个4。那14这个字符串刚好就是14加0个4,自然会被匹配到,这就不符合你的预期了。

根据你的需求:匹配前三个字符是144、后续可以包含任意内容的字符串,正确的正则应该用^144,其中:

  • ^表示字符串的开头,确保我们从字符串第一个字符开始匹配
  • 144就是你要的前三个固定字符

如果想要明确表示后面可以跟任意内容(包括什么都没有),也可以写成^144.*,这里的.*表示匹配任意字符(除了换行)0次或多次,不过其实^144已经能满足你的需求了——只要字符串开头是144,不管后面有没有内容都会被匹配。

修改后的测试代码如下:

var zip = '14'; // 不希望匹配的内容
var search = new RegExp('^144', 'g');
if (zip.match(search)) {
  console.log('匹配成功');
} else {
  console.log('匹配失败'); // 这里会执行,符合你的预期
}

再给你几个测试用例验证:

  • '144' → 匹配成功(前三个是144,后续无内容)
  • '14450' → 匹配成功(符合你的示例)
  • '14445' → 匹配成功(符合你的示例)
  • '14' → 匹配失败(不符合预期的情况被排除)
  • 'x144' → 匹配失败(开头不是144)

内容的提问来源于stack exchange,提问作者Chris Muench

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:17:47