【问题标题】:Regex comma separated list contains nine digits phone number正则表达式逗号分隔列表包含九位电话号码
【发布时间】:2013-01-23 17:56:57
【问题描述】:

我对正则表达式有一个很小但很烦人的问题。我想为包含九位电话号码的逗号分隔列表查找正则表达式:

通行证:123456789,123456789

未通过:123456789,123456789,

到目前为止,我有这样的东西:/^\d{9}+(,\d{9}\+)\*$/ 当然它可以在这个工具http://regex.larsolavtorvik.com 中工作,但在 javascript 中它不起作用,我认为这是众所周知的错误(对于 Javascript 人):

Invalid regular expression: /^\d{9}+(,\d{9}\+)\*$/: Nothing to repeat 

所以,我添加了反斜杠,它看起来像这样:/^\d{9}\+(,\d{9}\+)\*$/。当然这个也行不通。

【问题讨论】:

    标签: javascript regex phone-number


    【解决方案1】:

    您正在使用\ 转义*,+。这就是问题所在..

    * 表示匹配前一个字符 0 到多次

    + 表示匹配前面的 char 1 多次

    {9} 表示匹配前一个字符 9 次..所以不需要在它之后使用+

    正则表达式应该是

    /^\d{9}(,\d{9})*$/
    

    【讨论】:

    • 除了在其他正则表达式引擎中,{n}+ 创建所有匹配,这就是它在其他工具中工作的原因。但除此之外,这个答案是完全正确的。
    猜你喜欢
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    相关资源
    最近更新 更多