具有至少1个字母字符的6-10个字母数字字符的正则表达式

时间:2015-09-08 14:44:15

标签: regex

我被要求由客户端进行密码验证正则表达式,但我无法让它工作。

规格如下:

  • 长6-10个字符
  • 仅a-z,A-Z,0-9
  • 不完全来自数字(例如,至少1个a-z或A-Z字符)

到目前为止,我已经提出了这个问题:d*[a-zA-Z]([A-Za-z0-9])\\w{6,10}

2 个答案:

答案 0 :(得分:2)

这是候选正则表达式

^(?=.*[a-zA-Z])(?=.*\d*)([a-zA-Z]{6,10}|[a-zA-Z\d]{6,10})$

允许以下字符:

 [a-zA-Z]       // only letters
 [a-zA-Z\d]     // or letters and digits
 {6,10}         // in qty 6-10

接着是

 (?=.*[a-zA-Z]) // letters and
 (?=.*\d*)      // digit in qty zero and more

DEMO

答案 1 :(得分:1)

^(?=.*[A-Za-z])(?=.*a-zA-Z)[A-Za-z\d]{6,10}$

应该能满足您的需求

  • ^断言字符串开头的位置
  • (?=。 [A-Za-z])正向前瞻 - 断言下面的正则表达式可以匹配 - 。匹配任何字符(换行符除外)
    • 量词:*在零和无限次之间,尽可能多次,根据需要回馈[贪心]
    • [A-Za-z]匹配下面列表中的单个字符
    • A-Z A和Z之间范围内的单个字符(区分大小写)
    • a-z a和z之间范围内的单个字符(区分大小写)
  • (?=。* [a-zA-Z])正向前瞻 - 断言下面的正则表达式可以匹配
    • 量词:*在零和无限次之间,尽可能多次,根据需要回馈[贪心]
    • [a-zA-Z]匹配下面列表中的单个字符
      • a-z a和z之间范围内的单个字符(不区分大小写)
      • A-Z A和Z之间范围内的单个字符(不区分大小写)
  • [A-Za-z \ d] {6,10}匹配下面列表中的单个字符
    • 量词:{6,10} 6至10次,尽可能多次,根据需要回馈[贪心]
    • A-Z A和Z之间范围内的单个字符(区分大小写)
    • a-z a和z之间范围内的单个字符(区分大小写)
    • \ d匹配数字[0-9]
  • $断言字符串末尾的位置