js中正则验证 包含英文大小写、数字、特殊符号、十位以上的字符串
dearweb 发布:2023-03-02 07:55:24阅读:可以使用正则表达式来验证包含英文大小写、数字、特殊符号、十位以上的字符串。以下是一个示例正则表达式:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>\/?])[a-zA-Z\d!@#$%^&*()_+\-=[\]{};':"\\|,.<>\/?]{10,}$/
这个正则表达式包含了以下几个部分:
- `^` 表示匹配字符串的开始位置。
- `(?=.*[a-z])` 表示必须包含至少一个小写字母。
- `(?=.*[A-Z])` 表示必须包含至少一个大写字母。
- `(?=.*\d)` 表示必须包含至少一个数字。
- `(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>\/?])` 表示必须包含至少一个特殊字符。
- `[a-zA-Z\d!@#$%^&*()_+\-=[\]{};':"\\|,.<>\/?]{10,}` 表示可以包含英文字母、数字、特殊字符,长度至少为10个字符。
- `$` 表示匹配字符串的结束位置。
你可以把这个正则表达式放在 JavaScript 的 `test()` 方法中,检查一个字符串是否符合这个规则。例如:
const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>\/?])[a-zA-Z\d!@#$%^&*()_+\-=[\]{};':"\\|,.<>\/?]{10,}$/; const str = "MyP@ssw0rd123"; if (regex.test(str)) { console.log("符合规则"); } else { console.log("不符合规则"); }
输出结果应该是 `符合规则`,因为字符串 `MyP@ssw0rd123` 包含英文大小写、数字、特殊符号,长度为11个字符,符合我们的要求。
小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧