Javascript 正则表达式逗号分隔列表包含九位数字的电话号码
我对正则表达式有一个很小但很烦人的问题。我想查找包含九位电话号码的逗号分隔列表的正则表达式,例如: 通行证:123456789123456789 未通过:123456789123456789 到目前为止,我有一些类似的东西:Javascript 正则表达式逗号分隔列表包含九位数字的电话号码,javascript,regex,phone-number,Javascript,Regex,Phone Number,我对正则表达式有一个很小但很烦人的问题。我想查找包含九位电话号码的逗号分隔列表的正则表达式,例如: 通行证:123456789123456789 未通过:123456789123456789 到目前为止,我有一些类似的东西:/^\d{9}+(,\d{9}\+)\*$/当然它可以在这个工具中工作,但在javascript中它不工作,我认为这是一个众所周知的错误(对于javascript人员): 因此,我添加了反斜杠,它看起来像这样:/^\d{9}\+(,\d{9}\+)\*$/。当然,这个也不起作
/^\d{9}+(,\d{9}\+)\*$/
当然它可以在这个工具中工作,但在javascript中它不工作,我认为这是一个众所周知的错误(对于javascript人员):
因此,我添加了反斜杠,它看起来像这样:
/^\d{9}\+(,\d{9}\+)\*$/
。当然,这个也不起作用。您正在用\
转义*
,+
。这就是问题所在
*
表示将前面的字符0匹配多次
+
表示将前面的字符1匹配多次
{9}
表示将前面的字符匹配9次..因此不需要在后面使用+
正则表达式应该是
/^\d{9}(,\d{9})*$/
除了在其他正则表达式引擎中,
{n}+
创建所有格匹配,这就是它在其他工具中工作的原因。但除此之外,这个答案完全正确。
/^\d{9}(,\d{9})*$/