Javascript密码长度

时间:2016-01-11 14:54:38

标签: javascript forms passwords

我是javascript的新手。我有一个需要密码和密码确认的注册表单。到目前为止,我能够正确验证密码是否匹配。但是,我试图在密码上插入最小长度,但它无法正常工作。我的代码出了什么问题?

 <HTML>
    <div class="form-group">
                                <label class="sr-only" for="form-password">Password</label>
                                <input type="password" name="formpassword" required placeholder="Password" class="formpassword form-control" id="form-password" nickname='Password'>
                              </div>

                              <div class="form-group">
                                <label class="sr-only" for="form-password-confirm">Password Confirm</label>
                                <input type="password" name="formpasswordconfirm" required placeholder="Password Confirm" class="formpassword form-control" id="form-password-confirm" nickname='Password Confirm'>
                                <div id='passwordmsg' class="id-msg"></div>
                              </div>
    <HTML>
    <JS>
    $('#form-password').on('change', function(){
    pass = $('#form-password').val();
    if(pass < 6){
        $('#passwordmsg').html('Password must be at least 6 characters');
    }else {
        $('#passwordmsg').html("");

});


$('#form-password-confirm').on('change', function() {
    pass = $('#form-password').val();
    pass_confirm = $('#form-password-confirm').val();
    if(pass != pass_confirm){
        $('#passwordmsg').html("Password mismatched");
    }else{
        $('#passwordmsg').html("");
    }
    set_btn_enable();
});
    </JS>

5 个答案:

答案 0 :(得分:1)

你问的是字符串是否小于6,你应该使用字符串的length属性,而不是

if(pass < 6) ...

应该是

if(pass.length < 6) ...

答案 1 :(得分:1)

你的问题就在这一行:

    if(pass < 6){

你想拥有:

     if(pass.length < 6)

答案 2 :(得分:0)

.val()返回指定字段中的值。这是hunter42或用户输入密码的任何内容,这意味着您正在执行'hunter42' < 6,这没有任何意义。

[..snip...].val().length;
                 ^^^^^^^

获取返回字段值的LENGTH。

答案 3 :(得分:0)

您需要使用以下命令控制密码的长度:

...
pass = $('#form-password').val();
if(pass.length < 6){
...

答案 4 :(得分:0)

你做了一个小错误。

如果条件检查值的长度,而不是仅提供字符串值。

$('#form-password').on('change', function(){
pass = $('#form-password').val();
if(pass.length < 6){
    $('#passwordmsg').html('Password must be at least 6 characters');
}else {
    $('#passwordmsg').html("");

});

使用length属性获取字符数(字符串的长度)。 For more refer this link.