首页 新闻 搜索 专区 学院

求一个C#下的密码正则表达式写法

0
悬赏园豆:20 [已解决问题] 解决于 2012-08-17 08:45

密码需由6~20位英文字母、数字或常用英文符号组成, 常用英文字符为
`~!@#$%^&*()_+-={}|[]\\:\";'<>?,./    
 这样的正则表达式在C#里怎么写  

这个是安卓里的写法:  string s = "^[0-9a-zA-Z/`/~/!/@/#/$/%/^/&/*/(/)/_/+/-/=/{/}/|/[/]/:/\"/;/'/</>/?/,/.//]{6,20}$";

求一个C#的写法

╰→劉じ尛鶴的主页 ╰→劉じ尛鶴 | 初学一级 | 园豆:73
提问于:2012-08-16 20:05
< >
分享
最佳答案
0

string pattern = @"^[0-9a-zA-Z`~!@#$%\^&*()_+-={}|\[\]:"";'<>?,.]{6,20}$";
           

收获园豆:15
花开花又落 | 菜鸟二级 |园豆:357 | 2012-08-17 08:41
其他回答(2)
0

把安卓写法的斜杠/改成反斜杠就行了.

三阶 | 园豆:1436 (小虾三级) | 2012-08-16 20:38

改成反斜杠不行的,语法都通不过

支持(0) 反对(0) ╰→劉じ尛鶴 | 园豆:73 (初学一级) | 2012-08-17 08:39
0

正则表达式在某些语言中是十分类似的,看到安卓的写法,我也看到了C#的影子。如果是6~20位英文字母、数字的话,可以这样写:

1 string pattern = @"^[0-9a-zA-z]{6,20}$";

如果特殊字符只有下划线的话,可以用下面的字符串:

1 string pattern = @"^[0-9a-zA-z_]{6,20}$";

如果再包括左括号,右括号的话,可以用下面的字符串:

1 string pattern = @"^[0-9a-zA-z_\(\)]{6,20}$";

因为左括号,右括号在正则里面有其自己的用途,所以前面要加上右划线来区分下这个是一个匹配的字符,面不是带着匹配功能的括号。具体哪些特殊字符需要在之前加上右划线,这个就需要你自己去试了。

收获园豆:5
bevisliu | 园豆:278 (菜鸟二级) | 2012-08-16 23:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册