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

时间:2011-07-29 19:44:08

标签: javascript regex validation coldfusion

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

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

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

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

3 个答案:

答案 0 :(得分:7)

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

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

这不容易吗?

答案 1 :(得分:0)

这是因为你最后会与.匹配,所以如果满足你的所有条件,那么任何剩余的50个字符都可以是任何东西。我会用:

/^(?=.{6,50}$)(?=.*[a-zA-Z])(?=.*[\d_.&$*!@-])[a-zA-Z\d_.&$*!@-]*$/

答案 2 :(得分:0)

我想说你需要以下内容:

(字母或符号)* 信件或 符号 (字母或符号)*

OR

(字母或符号)* 符号 信件或 (字母或符号)*