验证验证表达式

时间:2009-02-12 14:19:01

标签: asp.net validation expression

我正在使用ASP.NET 3.5,VB.NET,我正在尝试通过正则表达式验证一些输入。

我的表达是:

^[a-zA-Z'_''-''/'' ''\''@''&''.'',''ç''Ç''ö''Ö''I''ı''i''İ''ğ''Ğ''ş''Ş''ü''Ü'\s\d]{1,50}$

除了“ - ”之外,它适用于我所包含的所有特殊字符。它只是不起作用。我试过Internet Explorer和Firefox,同样的问题。如何解决?

4 个答案:

答案 0 :(得分:3)

- 字符在该上下文中具有特殊含义。使用反斜杠将其转义或将其列为块中的最后一个字符。

答案 1 :(得分:3)

为什么所有单引号?它们是不必要的。

^[-a-zA-Z_/\\@&.,çÇöÖIiiIgGsSüÜ\s\d]{1,50}$
  ^        ^^

将“ - ”移动到字符类的开头或结尾以使其被识别。此外,反斜杠需要正确转义,否则您将无法匹配反斜杠。

请参阅上面的“^”标记。

答案 2 :(得分:1)

在正则表达式字符组[...]中,减号表示指定合法字符范围的范围。如果您有许多顺序符号(所有字母,数字等)并且不想全部列出它们,则非常有用。

示例:[0-9] 这将匹配所有数字0,1,2,3,4,5,6,7,8或9,但不是减号。

要直接匹配减号,请在其前面加上反斜杠:

示例:[0\-9] 这将匹配数字0,减号或数字9。

答案 3 :(得分:1)

你必须通过在它前面放置\来逃避 - 字符。 正则表达式将成为

^[a-zA-Z'_''\-''/'' ''\''@''&''.'',''ç''Ç''ö''Ö''I''ı''i''İ''ğ''Ğ''ş''Ş''ü''Ü'\s\d]{1,50}$