用户名的正则表达式

3

我希望在asp.net/c#中有一个用户名的正则表达式,要求用户名最少为6个字符,最多为15个字符。允许使用字母数字字符。允许使用特殊字符“._”。不允许使用空格。开头字符应该是字母。

我需要一个密码的正则表达式,其条件与上述完全相同,但不同的是开头字符应该是字母数字,不允许使用特殊字符。


7
禁止在密码中使用特殊字符本质上会使它们变得更加脆弱,这并不是典型的最佳做法。 - jonezy
1个回答

11
用户名
[A-Za-z][A-Za-z0-9._]{5,14}

密码

[A-Za-z0-9]{6,15}

禁止在密码中使用特殊字符并不明智


1
我正要发布一个和那个一模一样的东西! - NemoStein
3
另外,我不建议使用正则表达式进行长度检查,而是只使用正则表达式来确认所允许的字符是否存在。通过使用String.Length属性检查用户名/密码的长度(您可以报告一个错误消息,指出“检测到无效字符”或“密码/用户名过长/过短”)。 - WiseGuyEh
2
[] 中,. 不是特殊字符,因此无需转义。 - aaz
@user653622 - 我指的是答案的先前版本。在由[]分隔的字符类之外,.是一个特殊字符,表示“任何字符”;要获得字面上的.,必须将其转义为\.。在字符类内部,.没有特殊含义,因此不需要转义。 - aaz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接