我的用户在文本框中输入一些数字。数字格式为09XXXXXXXXX
。数字由逗号分隔。像09121234567,09351234568。我使用下面的正则表达式来检查用户输入。
^(09\d{9},?)+
一切都还可以,但问题是,如果我输入0912123456709351234568,它仍然匹配此正则表达式。 我希望用户输入至少一个没有逗号的数字,但如果数字多于一个则应该用逗号分隔。什么是正确的正则表达式?
答案 0 :(得分:5)
尝试下面的这种模式,
^(09\d{9})(,09\d{9})*$
答案 1 :(得分:3)
您可以使用此模式:
^(09\d{9}(?:,|$))+$
基本上,09\d{9}
后面可以跟一个逗号或字符串的结尾,整个事情必须在字符串的末尾终止。
然而,这将捕获逗号。如果您想省略它,您可以简单地重新排列组:
^(?:(09\d{9})(?:,|$))+$