我必须编写正则表达式来检查字符串:
我感谢任何帮助,因为我真的坚持这一点,并且不知道如何解决这个问题。
您可以使用先行检查所有条件,然后匹配 5 到 15 个字符(任意),确保没有其他字符(^
和$
):
^(?=(?:.*[A-Z]){2})(?=(?:.*[a-z]){2})(?=.*\d).{5,15}$
^
: 字符串开头 (?= )
: 积极展望。不抓取任何字符,只是向前看是否匹配模式(?: )
:使该组不可捕获,即您不会将其作为可以参考的捕获组$1
或\1
(依赖于语言).*[A-Z]
: 0 个或多个字符后跟一个大写字母.*[a-z]
: 0 个或多个字符后跟一个小写字母.*\d
: 0 个或多个字符后跟一个数字{2}
: 前一个模式必须匹配两次.{5-15}
: 5 到 15 个字符。$
: 字符串结尾在 JavaScript 中,您可以使用正则表达式测试字符串test
,例如:
var regex = /^(?=(?:.*[A-Z]){2})(?=(?:.*[a-z]){2})(?=.*\d).{5,15}$/;
console.log(regex.test('a9B1c')); // false, missing capital letter
console.log(regex.test('a9B1cD')); // true
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句