0

我需要一个密码的正则表达式来满足以下要求:

  • 它必须至少有 6 个字符长
  • 必须有 1 个数字字符
  • 第一个和最后一个字符必须是字母字符
  • 没有特殊字符

我发现了一些接近于此的表达式,但没有一个符合我的需要。您能提供的任何帮助将不胜感激。

我已经尝试过了,但它不太符合要求:

^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$
4

2 回答 2

1
  • 断言一个字符串有 6 个或更多字符:

    (?=.{6,})

  • 断言一个字符串至少有 1 个数字字符:

    (?=.*\d)

  • 在第一个和最后一个位置匹配一个字母字符:

    ^[A-Za-z].*[A-Za-z]$

结合以上所有,产生以下最终表达式:

(?=.{6,})(?=.*\d)[A-Za-z][A-Za-z0-9]*[A-Za-z]
于 2012-08-14T16:12:11.613 回答
0

尝试这样的事情

(?=.*\d)^[A-Za-z][0-9A-Za-z]{4,}[A-Za-z]$

或者如果你只想要一个数字,那就是这个

(?=[^\d]*\d[^\d]*$)^[A-Za-z][0-9A-Za-z]{4,}[A-Za-z]$
于 2012-08-14T16:09:19.910 回答