前言
最近遇到一个功能需要用户可以自定义系统的密码规则,传统中对于密码规则这块一般都是后端给定常用的密码正则表达式,然后当用户注册的时候填写密码,系统获取密码后会匹配这个给定的正则表达式,如果不匹配会提示用户密码不符合规范。
现在如果是可以自定义密码规则,首先不太可能由用户直接写正则表达式,难度较大且正则表达式的正确性无法得到保证。通过分析一般密码的正则表达式发现基本都是数字、大小写字母、特殊字符以及规定密码的长度,所以如果自定义规则的话不妨让用户可以自定义密码中数字、大小写这些字段的长度,然后系统读取这些长度后生成一个正则表达式,然后就和传统的密码匹配一样。
之前都是直接使用SpringBoot自带的@Pattern注解,然后直接手动定死正则表达式,现在多了个正则表达式生成的过程,学到了一些东西,现进行简单记录。
参考链接
1. 密码规则自定义:https://blog.csdn.net/socalabo/article/details/82924858
2. 正则表达式: