2013-03-21 88 views
3

ESC secuence系统字符我使用下面的验证表达式验证字符串接受仅字母数字字符如何让现有的字母数字验证表达

(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,50})$ 

但它不接受像~, !, (,), [, ], {, }等特点,如何添加表情在上面接受所有这些字符?

感谢,

+1

你要逃避他们像'\'!你应该看看基本的正则表达式教程。 – 2013-03-21 10:29:59

+0

但是如何?你能给我举个例子吗? – Diboliya 2013-03-21 10:34:57

回答

0

可以使用Regex.Escape为每个字符。

实例(需要重复对所有字符类型):

string pattern = "(?" 
    + Regex.Escape("!") 
    + "^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,50})$"; 
+0

你确定这个精确的'!'需要转义吗? – 2013-03-21 10:37:06

+0

@dystroy Nah,我只是说明如何逃脱:) – mattytommo 2013-03-21 10:38:06

0

试试这个

string _strTemp = "USer ,()TeXt~!"; 
    if (Regex.IsMatch(_strTemp, @"^[a-zA-Z 0-9.!~(){},]+$")) 
    { 
     //Valid Input 
    } 
    else 
    { 
     //Invalid Input 
    }