2011-06-07 89 views
1

我需要两个正则表达式(ASP.NET MVC 2应用程序)的帮助。这正是我需要的:需要用户名和密码的正则表达式

用户名:

  • 必须包含至少一个字母;数字是允许的,但不是必需的
  • 不能包含空格
  • 没有允许使用特殊字符,如[email protected]#$%^&
  • 下划线和“” (点)被允许
  • 不能以空格开始或下划线

密码:

  • 必须包含至少一个字母和一个数字
  • 不能包含空格
  • 是大小写敏感的

我试过[a-zA-Z0-9] + [\ w。] [A-ZA-Z] + [\ W]用户名,但它失败为 “A123456”

+3

你有没有试图让他们 - 你有什么? – Tim 2011-06-07 06:48:40

+2

*“密码不能包含空格”* - 为什么? – Tomalak 2011-06-07 06:49:51

+0

我不想让“pass word”成为通行证。没有空格.. – Cemsha 2011-06-07 06:51:32

回答

3

正则表达式的用户名:

^[a-zA-Z]\w+|[0-9][0-9_]*[a-zA-Z]+\w*$ 

另一个正则表达式的用户名,向前看使用..

^(?=.*[a-zA-Z].*)[a-zA-Z0-9]\w*$ 

保罗的正则表达式的密码是好的,但你应该把^到开始时和$对正则表达式的结尾来指定起点,也捕捉结束..

UPDATE:

中指出,用户名可以包含点字符也。我修改了正则表达式,但我认为用户名不能启动点字符也。这里是修改后的正则表达式;

^([a-zA-Z][\w.]+|[0-9][0-9_.]*[a-zA-Z]+[\w.]*)$ 
+0

对于用户名“1_aaaaaa”,第一个正则表达式不起作用,但第二个正常,现在...仍在测试... – Cemsha 2011-06-07 10:05:32

+0

@Mishko,检查http://regexr.com?2tudm。它也适用于这种情况。 – 2011-06-07 10:10:23

1

由于Gursel,这个正则表达式应该

([a-zA-Z\d]+[\w\d]*|)[a-zA-Z]+[\w\d.]* 

Regexr here

这对于密码:输入用户名办

([a-zA-Z]+[\d]+|[\d]+[a-zA-Z]+)[^\s]* 

Regexr here)。

+0

正则表达式用户名无效,它可以接受没有字母的用户名。 – 2011-06-07 08:09:44

+0

对于用户名“1_aaaaaa”,正则表达式不起作用。 – Cemsha 2011-06-07 10:02:47