需要用户名和密码的正则表达式

时间:2011-06-07 06:45:50

标签: asp.net-mvc regex

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

用户名:

  • 必须至少包含一个字母;数字是允许的但不是必需的
  • 不能包含空格
  • 不允许使用任何特殊字符,例如~!@#$%^&
  • 下划线和“。” (点)是允许的
  • 不能以空格或下划线开头

密码:

  • 必须至少包含一个字母和一个数字
  • 不能包含空格
  • 区分大小写

我尝试使用[a-zA-Z0-9] + [\ w。] [a-zA-Z] + [\ w。] 作为用户名但是“a123456”失败了

3 个答案:

答案 0 :(得分:3)

用户名的正则表达式:

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

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

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

Paolo的密码正则表达式是可以的,但你应该把^放到正则表达式和$到正则表达式的末尾以指定捕获的开始和结束..

  

更新:

声明用户名也可以包含点字符。我修改了正则表达式,但我假设用户名也无法启动点字符。这是修改后的正则表达式;

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

答案 1 :(得分:2)

你也可以在这里建立

http://gskinner.com/RegExr/

答案 2 :(得分: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)。