【问题标题】:regular expression for username用户名的正则表达式
【发布时间】:2011-07-12 17:39:01
【问题描述】:

我想要 asp.net/c# 中用户名的正则表达式,其中用户名应该最少 6 个字符,最多 15 个字符。允许使用字母数字字符。允许使用特殊字符 ._。没有空格是可以接受的。起始字符应该是字母。

我想要密码的正则表达式,其中条件与上述完全相同,但唯一不同的是起始字符应该是字母数字,不允许特殊字符。

【问题讨论】:

  • 不允许密码中的特殊字符本质上会使它们变得更弱,这不是典型的最佳实践。

标签: asp.net regex


【解决方案1】:

用户名

[A-Za-z][A-Za-z0-9._]{5,14}

密码

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

但不允许在密码中使用特殊字符是不明智的

【讨论】:

  • 我正要发布类似的东西!
  • 此外,我不建议使用正则表达式进行长度检查,而只是使用正则表达式来断言存在允许的字符。使用 String.Length 属性检查用户名/密码的长度(然后您可以报告错误消息“检测到无效字符”或“密码/用户名太长/太短”
  • .[] 内部并不特殊,无需尝试转义。
  • @user653622 - 我指的是答案的先前版本。在[] 分隔的字符类之外,. 是一个特殊字符,意思是“任何字符”;要获得文字 .,必须将其转义为 \.。内部字符类.没有特殊含义,所以不需要转义。
猜你喜欢
  • 2011-02-15
  • 2011-01-19
  • 2012-01-28
  • 2013-07-02
  • 1970-01-01
相关资源
最近更新 更多