gpt4 book ai didi

JavaScript 正则表达式返回 false,但正则表达式测试器返回 true

转载 作者:行者123 更新时间:2023-11-30 14:55:43 25 4
gpt4 key购买 nike

我有一个 JavaScript 正则表达式,用于输入字段中的前端密码验证。这是我的输入字段的样子:

<input type='password' placeholder='Password...' id='password' pattern='^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})' required>

该正则表达式正在寻找一个字符串:八个或更长的字符,包含一个大写字母、一个小写字母、一个数字和一个特殊字符。让我们来看看字符串:November2017!例如。那应该通过正则表达式,但它不在我的 webapp 中。当我从输入字段复制并粘贴正则表达式时 ^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=. *[!@#\$%\^&\*])(?=.{8,}) 并将其放入 regex101.com,该字符串通过验证。但它没有通过我的 webapp 中的验证。将它放在 pattern 属性中是否有特定原因会改变它是否会通过验证?

最佳答案

最后需要添加.{8,}

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*]).{8,}

这是因为 pattern 必须匹配完整的字符串,而您当前的表达式只匹配字符串的开头。

关于JavaScript 正则表达式返回 false,但正则表达式测试器返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47298585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com