特定搜索上的javascript正则表达式匹配(搜索字符串的开头)

特定搜索上的javascript正则表达式匹配(搜索字符串的开头),javascript,regex,Javascript,Regex,给定以下正则表达式 /144*/g 我要匹配1445014445,但不是14 我想要的是匹配前3个字符144以及之后的任何字符 var zip = '14';//Don't want this to match var search = new RegExp('144*', 'g'); if (zip.match(search)) //TRUE 您可以使用此正则表达式,它将匹配以144开头的任何文本,但不会匹配14 ^(?!14$)144.*$ 此负前瞻(?!14$)停止匹配14编号,其余全

给定以下正则表达式

/144*/g

我要匹配1445014445,但不是14

我想要的是匹配前3个字符144以及之后的任何字符

var zip = '14';//Don't want this to match
var search = new RegExp('144*', 'g');
if (zip.match(search)) //TRUE

您可以使用此正则表达式,它将匹配以
144开头的任何文本,但不会匹配
14

^(?!14$)144.*$
此负前瞻
(?!14$)
停止匹配
14
编号,其余全部允许

负前瞻确实是多余的,您可以将其写成
^144.*$
^144\d*$

我想要的是匹配前3个字符144以及之后的任何字符

var zip = '14';//Don't want this to match
var search = new RegExp('144*', 'g');
if (zip.match(search)) //TRUE
你不需要正则表达式,也不需要字符串操作。您只需使用并检查
144
是否位于字符串的开头(第零个索引):

const isOneFourFour = zip.indexOf('144') === 0

您的模式
144*
匹配14,然后重复0+乘以数字4

这将匹配例如14、144或1444

如果您希望匹配以14开头,并且以下数字应为1或更多数字,则可以使用:

^144\d+


试试
144\d+
14\d+
为什么不干脆
如果(x.substr(0,3)==“144”)
/^144\d+$/
这样的东西,我能说的话应该是
/^144.$/i
。这是大约5位数的邮政编码吗?如果是这样,您需要
/^144\d\d$/
。克里斯在罗切斯特,所以这肯定是关于邮政编码的。即使OP没有提到它,答案也应该考虑这一点,因为变量名和上下文严重地暗示了它。