检查输入是否包含最少8个字符,最少1个字母和1个字母

JFF*_*FFF 0 html javascript regex

这是我试过的...如果我只检查输入的值是否小于8,它是否有效,但不能检查它是否包含至少1个字母和1个数字.我究竟做错了什么 ?= /

$(document).ready(function() {

var jVal = {
    'passWord' : function() {

        $('body').append('<div id="nameInfo" class="info"></div>');

        var nameInfo = $('#nameInfo');
        var ele = $('#password');
        var pos = ele.offset();
        ra = /^[A-Za-z]+$/;
        re = /^[0-9]+$/;

        nameInfo.css({
            top: pos.top - 3,
            left: pos.left + ele.width() + 15
        });

        if (ele.val().length < 8 & re.test(ele.value) & ra.test(ele.value)) {
            jVal.errors = true;
            nameInfo.removeClass('correct').addClass('error').html('&larr; too short').show();
            ele.removeClass('normal').addClass('wrong');
        }

        else {
            nameInfo.removeClass('error').addClass('correct').html('&radic;').show();
            ele.removeClass('wrong').addClass('normal');
        }
    }

}
$('#password').change(jVal.passWord);
});
Run Code Online (Sandbox Code Playgroud)

Nie*_*sol 6

ra检查密码是否完整的字母.re检查密码是否完全由数字组成.它们是相互排斥的,因此不可能都是真的.

相反,使用ra = /[a-z]/i; re = /[0-9]/;.

编辑:此外,既然你正在使用jQuery,你应该测试ele.val(),而不是ele.value.