日期:2014-05-16  浏览次数:20456 次

求一段验证用户密码强度的js


1、不能使用大众化密码(123456,666666,88888之类)
2、不能使用跟用户名一样的密码、或者用户名中包含密码。

------解决方案--------------------
HTML code
    <input id="username" type="text" value="" />
    <input id="password" type="password" value="" />
    <script>
        var psd = document.getElementById('password'),
            username = document.getElementById('username').value;
        psd.onchange = function(){
            var val = this.value;
            if(val.length < 6){
                alert("密码过短");
            }else if(/^([\da-zA-Z])\1+$/.test(val)){
                alert("不能为重复字符");
            }else if(username.indexOf(val) !== -1){
                alert("不能使用跟用户名一样的密码、或者用户名中包含密码");
            }else{
                var arr = val.split(""),
                    firstCharcode = val.charCodeAt(0),
                    ret = false;
                for(var i = 0, len = arr.length; i < len; i++){
                    if(arr[i] !== String.fromCharCode(firstCharcode + i)){
                        ret = true;
                        break;
                    }
                }
                if(!ret){
                    alert("不能为连续数字或字符");
                }
            }
        }
    </script>