首页 > 解决方案 > 密码验证码每次随机测试都没有通过,不明白为什么?

问题描述

我是编码/编程的新手,并且一直试图在 codewars.com 上解决尽可能多的问题

我遇到了以下正则表达式密码验证问题 https://www.codewars.com/kata/regex-password-validation/train/javascript

您需要编写将验证密码的正则表达式,以确保它符合以下条件:

至少六个字符长
包含小写字母
包含大写字母
包含数字
有效密码只能是字母数字字符。

这是我的代码

function validate(password){
  return (/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.{6,}).*/g.test(password));
}

我通过了所有的样本测试和大多数随机测试,但有两个我一直失败。我无法看到输入,所以我不知道为什么我失败了。任何建议都非常感谢:)

标签: javascriptregexstringvalidation

解决方案


你没有遵守这条规则:

有效密码只能是字母数字字符

只要其他规则通过,您就允许它们包含任何字符。更改.*末尾的^[a-zA-Z0-9]*$以确保每个字符都是字母数字。


推荐阅读