【问题标题】:Javascript password lengthJavascript密码长度
【发布时间】:2016-04-15 22:23:46
【问题描述】:

我是 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>

【问题讨论】:

    标签: javascript forms passwords


    【解决方案1】:

    你的问题是这一行:

        if(pass < 6){
    

    你想拥有:

         if(pass.length < 6)
    

    【讨论】:

      【解决方案2】:

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

      if(pass < 6) ...
      

      应该是

      if(pass.length < 6) ...
      

      【讨论】:

        【解决方案3】:

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

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

        获取返回字段值的长度。

        【讨论】:

          【解决方案4】:

          您需要控制密码的长度:

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

          【讨论】:

            【解决方案5】:

            你犯了一个小错误。

            在if条件下检查值的长度而不是只给出字符串值。

            $('#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("");
            
            });
            

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

            【讨论】:

              猜你喜欢
              • 2014-04-01
              • 1970-01-01
              • 2014-09-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-06-28
              相关资源
              最近更新 更多