正则表达式帮助需要字段验证

eri*_*rik 0 javascript regex validation coldfusion

我需要验证具有以下要求的字段:

  • 必须至少6个字符
  • 必须不超过50个字符.
  • 必须包含至少一个字母字符
  • 必须至少有一个"其他"字符."其他"字符只能是数字或以下8个字符中的任何一个:下划线,连字符,句号,&符号,美元,星号,感叹号,@符号

我提出了以下正则表达式,但它并不总是有效,它允许我想要排除的一些特殊字符

/^(?!.*(.)\1)((?=.*[^\w\d\s])(?=.*\w)|(?=.*[\d])(?=.*\w)).{6,50}$/
Run Code Online (Sandbox Code Playgroud)

Mat*_*all 7

它真的必须是一个正则表达式吗?我只想编写一个测试这些标准的函数.

function isValid(password)
{
    return password.length >= 6 
        && password.length <= 50
        && password.match(/[A-Za-z]/)
        && password.match(/[0-9_\-.&$*!@]/);
}
Run Code Online (Sandbox Code Playgroud)

这不容易吗?

  • 不,我很抱歉看起来太容易了.这应该是一个长期复杂的正则表达式,当你阅读时,会让你认为开发人员在晕倒后会在键盘上睡着,因为强烈要求喝4Loco和Monster and Chronic以使程序员形象永久化. (4认同)
  • 哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇 在_my_日,程序员喝咖啡和Mountain Dew. (3认同)