使用正则表达式在文本框中允许逗号分隔值

时间:2014-06-24 07:43:38

标签: c# asp.net regex validation textbox

在我的asp.net应用程序中,我有一个文本框,我想允许逗号分隔值,例如

name1,name1,name3

我有一个用于检查值的正则表达式,即单个值(name1name2name3)必须满足正则表达式[a-zA-Z]+[a-zA-Z0-9-_]*

现在我想使用单个正则表达式检查这两个验证

  1. 单个值必须满足[a-zA-Z]+[a-zA-Z0-9-_]*正则表达式

  2. 文本框必须以逗号分隔值。

  3. 我无法为此创建适当的regEx。

1 个答案:

答案 0 :(得分:3)

您可以使用

^[a-zA-Z]+[a-zA-Z0-9_-]*(?:,[a-zA-Z]+[a-zA-Z0-9_-]*)*$

<强>解释

^                         # Start of string
[a-zA-Z]+[a-zA-Z0-9_-]*   # Match a single value
(?:                       # Start of non-capturing group
 ,                        # Match a comma
 [a-zA-Z]+[a-zA-Z0-9_-]*  # Match a single value
)*                        # Repeat non-capturing group as often as necessary
$                         # End of string

如果您正在使用该正则表达式客户端(即根据ECMAScript规则),您可以将其简化为

(?i)^[a-z]+[\w-]*(?:,[a-z]+[\w-]*)*$