密码验证:(?![0-9a-z]+$)(?![0-9a-z]+$)\w{6,8}$ 不理解?

密码验证:6-8位数字、字母、下划线,必须包含一个大写和一个数字

 (?![0-9a-z]+$)这个没理解是什么意思
阅读 7.4k
2 个回答

(?!pattern) 是负向先行断言,意思是若该位置后面匹配 pattern,则该位置不能匹配。[0-9a-z]+$ 即由数字和小写构成一个以上字符直到字符串尾。合起来就是字符串不能仅由小写和数字构成。

!是否定,
$是到结尾,即整个字符串
所以这个是
不能 整个 字符串是 0-9a-z 组成

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进