生成密码校验正则表达式,规则为:口令应至少为8位,且为数字、大小写字母和特殊符号中至少3类的组合,且不得使用符合强口令策略,但易被猜解的出厂默认口令、按键盘规则排列的口令等各种形式的弱口令
时间: 2023-05-18 14:05:57 浏览: 155
以下是生成密码校验正则表达式的代码:
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+~`\-={}[\]:;"'<>,.?/])[a-zA-Z0-9!@#$%^&*()_+~`\-={}[\]:;"'<>,.?/]{8,}$
这个正则表达式可以满足口令至少为8位,且为数字、大小写字母和特殊符号中至少3类的组合的要求,同时也可以排除易被猜解的出厂默认口令、按键盘规则排列的口令等各种形式的弱口令。
相关问题
生成密码校验正则表达式,规则为:口令应至少为8位,且为数字、大小写字母和特殊符号中至少3类的组合
以下是生成密码校验正则表达式的代码:
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).{8,}$
这个正则表达式要求密码至少为8位,且必须包含数字、小写字母、大写字母和特殊符号中的至少3种。
js 正则校验密码为大小写字母和数字和特殊字符
你可以使用正则表达式来校验密码是否符合要求。下面是一个校验密码的正则表达式,它要求密码必须包含大小写字母、数字和特殊字符:
```
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
```
这个正则表达式的含义是:
- `^` 表示匹配字符串的开始位置。
- `(?=.*[a-z])` 表示字符串中必须包含至少一个小写字母。
- `(?=.*[A-Z])` 表示字符串中必须包含至少一个大写字母。
- `(?=.*\d)` 表示字符串中必须包含至少一个数字。
- `(?=.*[@$!%*?&])` 表示字符串中必须包含至少一个特殊字符(可以根据需要添加或删除特殊字符)。
- `[A-Za-z\d@$!%*?&]{8,}` 表示密码必须由大小写字母、数字和特殊字符组成,并且长度必须至少为8个字符。
- `$` 表示匹配字符串的结束位置。
你可以使用 JavaScript 的 `test` 方法来检验一个字符串是否符合这个正则表达式。例如:
```javascript
const password = "MyP@ssw0rd";
const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
const isValid = regex.test(password);
console.log(isValid); // true
```