asp.net正则表达式没有按预期工作

时间:2010-03-16 11:48:31

标签: asp.net regex validation

我有一个文本框和一个正则表达式验证器。我想确保输入到文本框中的唯一允许的字符串是“Anything Entered”或“Something Else”或“Another String”,否则我想要显示错误。

这是我到目前为止的正则表达式:

ValidationExpression="(^Anything Entered)$|(^Something Else)$ |(^Another String)$"

但是,当我输入假定的有效字符串时,会显示错误。我无法弄清楚表达方面的错误。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

"^(Anything Entered)|(Something Else)|(Another String)$"

请注意使用^$ 虽然正如其他人已经指出的那样,使用^ $在这里是多余的。

"(Anything Entered|Something Else|Another String)"就好了。

答案 1 :(得分:2)

RegularExpressionValidator会自动添加^和$。只需使用

"(Anything Entered|something Else|Another String)"

答案 2 :(得分:-1)

(^Anything Entered)$|(^Something Else)$ |(^Another String)$

在正则表达式中^匹配字符串的开头,$匹配字符串的结尾。

您的正则表达式相当于(^Anything Entered$)|(^Something Else$ )|(^Another String$)。它匹配“Anything Entered”或“Another String”但它与“Something Else”不匹配,因为在字符串结尾后不能有空格()。