java后台密码正则表达式,存在字母数字和特殊字符

要求:

 1. 8到16位

 2. 存在字母数字和特殊字符

 3. !<>%&_+除外

 4. 不包含空格

正则表达式:

      ^(?=.*[A-Za-z])(?=.*\\d)(?=.*[`~@#$^*()\\-=[{}]\\\\|:;\"',.?/])[\\w`~@#$^*()\\-=[{}]\\\\|:;\"',.?/]{8,16}

解析:

 ?=为零宽断言,有兴趣可以去看一下零宽断言的详细,

(?=.*[A-Za-z])判断是否存在字母,(?=.*\\d)判断是否存在数字,

 (?=.*[`~@#$^*()\\-=[{}]\\\\|:;\"',.?/])判断是否存在符合  要求的特殊字符,

 [\\w`~@#$^*()\\-=[{}]\\\\|:;\"',.?/]{8,16}为数字或者符合要求的特殊字符8到16位。

你可能感兴趣的:(正则)