javascript - 正则表达式匹配密码要求
问题描述
我想使用正则表达式来匹配一组密码要求。他们是:
- 需要 8-15 个字符
- 一个大写字母
- 一个小写字母
- 一个号码
我正在使用https://regexr.com/来尝试构建它。
第一次尝试:
/([A-Z])([a-z])([0-9])({8,15})+/g
但在网络应用程序的控制台中,这会抛出:
但在这个答案中,正则表达式将字符数限制为 10 个:
/^[a-z]{0,10}$/
所以我试着用这个想法滚动:
/[A-Z][a-z][0-9]{8,15}/g
错误很清楚,但它总是错误的。为什么?
下面是一个示例。警报应该为真,因为它包含所有要求。
function checkPass() {
var regex = /[A-Z][a-z][0-9]{8,15}/g;
var string = "G00dPassword1234"
var isItGood = regex.test(string);
alert(isItGood)
}
<button onclick="checkPass()">test</button>
为什么我的测试总是假的?
解决方案
推荐阅读
- java - ShortcutInfo 和 ShortcutInfoCompat 的区别?
- php - Symfony 4 - FOSUserBundle - 自定义路由模板
- android - 创建首选项屏幕时找不到androidx.preference.PreferenceScreen
- asp.net-mvc - ASP.Net MVC 动态输入绑定到相同的控制器属性
- prolog - 如何在prolog中进行递归?
- angular - 调试从 Angular CLI 的 `ng e2e` 开始的量角器测试
- javascript - 有可能attributeChangedCallback 得到一个像newVal 这样的对象吗?
- querydsl - 在 Querydsl 中 - 是否可以使用 java 集合加入实体
- javascript - 如果 url 等于链接的 href,则添加一个类
- r - 使用 ggplot2 创建一个闪避的条形图