3

我的用户在文本框中输入了一些数字。数字格式为09XXXXXXXXX. 数字用逗号分隔。比如 09121234567,09351234568。我使用下面的正则表达式来检查用户输入。

^(09\d{9},?)+

一切正常,但问题是如果我输入 0912123456709351234568 它仍然匹配这个正则表达式。我希望用户输入至少一个不带逗号的数字,但如果数字多于一个,则应以逗号分隔。什么是正确的正则表达式?

4

2 回答 2

5

试试下面这个模式,

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

在此处输入图像描述

于 2013-08-13T13:22:48.847 回答
3

您可以使用此模式:

^(09\d{9}(?:,|$))+$

所以基本上,09\d{9}后面可以跟一个逗号或字符串的结尾,整个事情必须以字符串的结尾结束。

但是,这将捕获逗号。如果您想省略它,您可以简单地重新排列组:

^(?:(09\d{9})(?:,|$))+$
于 2013-08-13T13:22:15.310 回答