牛骨文教育服务平台(让学习变的简单)
博文笔记

密码长度6位以上且须包含大写、小写、数字、特殊符号中的任意3种

创建时间:2015-08-06 投稿人: 浏览次数:3393
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<script type="text/javascript">
/**
*
*
*
*这样的正则貌似最好用多条吧,一条的话不但写起来困难,你反馈给页面提示也不容易,所以我给你写一段验证代码,你来参考一下如何?
*如果你非要用一条正则,这正则实在是很难写,而且在JS里,还不支持正则预判,难度更高
*下面是实现的代码,你只要修改一下就可以直接拿去用了。
*
*
*
**/
function testPass(str){
    var rC = {
        lW:"[a-z]",
        uW:"[A-Z]",
        nW:"[0-9]",
        sW:"[\u0020-\u002F\u003A-\u0040\u005B-\u0060\u007B-\u007E]"
    };
    function Reg(str, rStr){
        var reg = new RegExp(rStr);
        if(reg.test(str)) return true;
        else return false;
    }
    if(str.length < 6){
        //document.title = "您的密码长度太短";
        alert("您的密码长度太短");
        return false;
    }else{
        var tR = {
            l:Reg(str, rC.lW),
            u:Reg(str, rC.uW),
            n:Reg(str, rC.nW),
            s:Reg(str, rC.sW)
        };
        if((tR.l && tR.u && tR.n) || (tR.l && tR.u && tR.s) || (tR.s && tR.u && tR.n) || (tR.s && tR.l && tR.n)){
            //document.title = "密码符合要求";
            alert("密码符合要求");
            return true;
        }else{
        	alert("您的密码必须含有“小写字母”、“大写字母”、“数字”、“特殊符号”中的任意三种");
            //document.title = "您的密码必须含有“小写字母”、“大写字母”、“数字”、“特殊符号”中的任意三种";
            return false;
        }
    }
}
 
</script>
<input type="text" id="pass" value="abc12C" /> <input type="button" value="测试" onClick="testPass(document.getElementById("pass").value);" />
 </body>
</html>

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。