我正在使用ASP.NET 3.5,VB.NET,我正在尝试通过正则表达式验证一些输入。
我的表达是:
^[a-zA-Z'_''-''/'' ''\''@''&''.'',''ç''Ç''ö''Ö''I''ı''i''İ''ğ''Ğ''ş''Ş''ü''Ü'\s\d]{1,50}$
除了“ - ”之外,它适用于我所包含的所有特殊字符。它只是不起作用。我试过Internet Explorer和Firefox,同样的问题。如何解决?
答案 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}$