检查字符串是否包含数字和符号

时间:2014-08-27 07:49:46

标签: javascript html ezpublish

我正在为一所大学开设一个帐户创建网站。

我的问题是,如果用户设置的密码不包含数字和/或符号,我想返回错误消息,我需要帮助。

密码需要包含大小写字母,数字和符号(!,#,%或&)。我需要特定的错误消息。

有什么建议吗?我正在使用HTML和JS。

2 个答案:

答案 0 :(得分:1)

虽然基于JS和regexp的解决方案是一个良好的开端(并且因为在客户端执行速度更快),但我建议仔细检查这个服务器端。

由于我发现您可能正在使用eZ Publish(基于此问题的标签...),请随意覆盖eZUser类(使用eZ Publish自动加载系统或使用PHP包含路径魔法),然后破解eZUser :: validatePassword()方法以满足您的要求。

答案 1 :(得分:0)

我建议使用Regex并对每个

运行检查

像这样:

function validateStr(str) {
    var regex = new RegExp("[A-Z]+"); // Check for uppercase first   
    if(regex.test(str) == true) {
        regex = new RegExp("[0-9]+"); // Now we check for numbers   
        if(regex.test(str) == true) {
            regex = new RegExp("[a-z]+"); // checking now for lowercase
            if(regex.test(str) == true) {
                return 1;   
            } else return 2;
        } else return 3;
    } else return 4;
}

我没有包含“特殊字符”参数,因为您必须将它们单独包含在一个我不建议您使用的正则表达式中。 我正在努力让它在JSFiddle上工作,所以我没有包括一个但只是发表评论,如果你需要我进一步解释。