我正在寻找具有以下条件的正则表达式:
- a) 至少 13 个字母数字字符
- b) 最多 17 个字母数字
人物
- c) 和至少 1 位数字。
该正则表达式满足 a) 和 b)。它如何也满足条件c)?
^[a-zA-Z0-9]{13,17}$
输入文本示例:
# matching
123456789abcd
123456789abcdef
123456789abcdefg
# no match: too long
123456789abcdefgef
# no match: no digit
abcdefghijklmno
# no match: not alphanumeric only
123456789@abcdefg
风格是Java 8。
听起来你正在尝试制作一个密码检查器。我建议您不要尝试在一个正则表达式中完成所有操作。
检查您的输入是否符合两个必须匹配的不同正则表达式:
^[a-zA-Z0-9]{13,17}$ # 13-17 alphanumerics
and
[0-9] # at least one digit
与另一个答案的建议相比......
^(?=[a-zA-Z]*[0-9])(?=[0-9]*[a-zA-Z])[[:alnum:]]{13,17}$
...这样就更清晰了,并且当您的规则将来发生变化时也更容易更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)