经常在开发中用到对密码的正则表达式校验,列出一些常用的校验规则,如果个性化的需要可以以下面的为基础进行小幅调整即可
/**
* 密码至少包含 数字和英文,长度6-20
* 思路:先框定选择的范围[0-9A-Za-z]{6,20}$,再排除纯数字(?![0-9]+$),纯大小写字母(?![a-zA-Z]+$)的情况
*/
const reg = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$";
/**
* 密码包含 数字,英文,字符中的两种以上,长度6-20,
* 思路:先框定选择的范围.{6,20}$,再排除纯数字(?![0-9]+$),纯小写(?![a-z]+$),纯大写(?![A-Z]+$)和纯特殊字符(?!([^(0-9a-zA-Z)])+$)
*/
const reg = "^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![^0-9a-zA-Z]+$).{6,20}$";
/**
* 至少包含数字跟字母,可以有字符
* 思路:先框定选择的范围[a-zA-Z0-9*-/+.~!@#$%^&*()]{6,20}$,再限定里面一定有一个任意的大小写字母(?=.*([a-zA-Z].*))和一个任意的数字(?=.*[0-9].*)
*/
const reg = "(?=.*([a-zA-Z].*))(?=.*[0-9].*)[a-zA-Z0-9*-/+.~!@#$%^&*()]{6,20}$";