【问题标题】:JavaScript validation: return false not working at time of re Enter PasswordJavaScript 验证:在重新输入密码时返回 false 不起作用
【发布时间】:2017-07-11 11:52:37
【问题描述】:

我的 javascript 验证代码正在运行..

Javascript:当重新输入密码时,我的 javascript 所有字段返回 false 都在工作 javascript return false not working

重新输入密码 javascript 代码不起作用...

它的警报显示...在警报显示表单提交后 返回 false 不工作...

[Here is js Fiddle][1]


  [1]: https://jsfiddle.net/Ln1cmaps/

**HTML**

    <div class="container">
                <div class="row main">
                    <div class="main-login main-center">
                    <h2>Admin Ragistration</h2>
                        <form class="" method="post" action="" name="signup" onsubmit="return validate()">

                            <div class="form-group">
                                <label for="name" class="cols-sm-2 control-label">Your Name</label>
                                <div class="cols-sm-10">
                                    <div class="input-group">
                                        <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"></i></span>
                                        <input type="text" class="form-control" name="name" id="name"  placeholder="Enter your Name"/>
                                    </div>
                                </div>
                            </div>

                            <div class="form-group">
                                <label for="email" class="cols-sm-2 control-label">Your Email</label>
                                <div class="cols-sm-10">
                                    <div class="input-group">
                                        <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
                                        <input type="email" class="form-control" name="email" id="email"  placeholder="Enter your Email"/>
                                    </div>
                                </div>
                            </div>

                            <div class="form-group">
                                <label for="username" class="cols-sm-2 control-label">Username</label>
                                <div class="cols-sm-10">
                                    <div class="input-group">
                                        <span class="input-group-addon"><i class="fa fa-users fa" aria-hidden="true"></i></span>
                                        <input type="text" class="form-control" name="username" id="username"  placeholder="Enter your Username"/>
                                    </div>
                                </div>
                            </div>

                            <div class="form-group">
                                <label for="password" class="cols-sm-2 control-label">Password</label>
                                <div class="cols-sm-10">
                                    <div class="input-group">
                                        <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
                                        <input type="password" class="form-control" name="password" id="password"  placeholder="Enter your Password"/>
                                    </div>
                                </div>
                            </div>

                            <div class="form-group">
                                <label for="confirm" class="cols-sm-2 control-label">Confirm Password</label>
                                <div class="cols-sm-10">
                                    <div class="input-group">
                                        <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
                                        <input type="password" class="form-control" name="confirmpassword" id="confirm"  placeholder="Confirm your Password"/>
                                    </div>
                                </div>
                            </div>

                            <div class="form-group ">
                                <input type="submit" name="submit" value="Register" class="btn btn-primary btn-lg btn-block login-button" /> 
                            </div>  

                        </form>

                </div>
            </div>
            </div>


**Javascript validation Code**

    function validate() {
            var name = document.signup.name.value.length;
            var email = document.signup.email.value.length;
            var username = document.signup.username.value.length;
            var password = document.signup.password.value;
            var rpass = document.signup.confirmpassword.value;
            var re =(/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{8,16}$/);

            if(name=="") {
                alert("Please Enter Your Name");
                document.signup.name.focus();
                return false;
            }

            if(name<3) {
                alert("Please Enter Your Correct Name");
                document.signup.name.focus();
                return false;
            }

            if(email=="") {
                alert("Please Enter email");
                document.signup.email.focus();
                return false;
            }

            if(email<3) {
                alert("Please Enter Your Correct email");
                document.signup.email.focus();
                return false;
            }

            if(username=="") {
                alert("Please Enter Username");
                document.signup.username.focus();
                return false;
            }

            if(username<5) {
                alert("Please Enter Username at least 5 digit");
                document.signup.username.focus();
                return false;
            }

            if(password=="") {
                alert("Please Enter Your password");
                document.signup.password.focus();
                return false;
            }

            if(!re.test(password)) {
                alert("Error: Password Must Contain Atleast One Number,One Special Character & One Upper Case");
                document.signup.password.focus();
                return false;
              }



            if(rpass =="") {
                alert("Please Enter Your Password Again");
                document.signup.rpass.focus();
                return false;
            }

            if(rpass != password) {
                alert("Password does'nt Matched");
                document.signup.rpass.focus();
                return false;
            }


            else {
                return true;
            }
        }

【问题讨论】:

  • 请正确解释您的问题
  • 重新输入密码 javascript 代码不起作用...
  • 它的警报显示...在警报显示表单提交后
  • 没有 rpass 。应该改成 confirmpassword if(rpass != password) { alert("Password does'nt Matched"); document.signup.confirmpassword.focus();返回假; }

标签: javascript


【解决方案1】:
document.signup.rpass.focus();

这是错误的,rpass 字段不存在。你应该写

document.signup.confirmpassword.focus();

https://jsfiddle.net/vineeshmp/Ln1cmaps/1/

【讨论】:

    【解决方案2】:

    在您的 javascript 函数开始时提供 event.preventDefault();

    【讨论】:

      【解决方案3】:

      我认为你需要改变

      else {
          return true;
      }
      

      简单的

      return true;
      

      您的 else 目前仅适用于最后一个 if。如果在所有需要考虑的情况下都返回 false,则不需要使用 else。

      换句话说:如果您首先检查 无效 情况的所有可能性,那么您可以安全地在最后返回 true

      【讨论】:

        【解决方案4】:

        用下面的代码替换你的 var re:不需要包含括号

        您的代码

        var re = (/^(?=.[AZ])(?=.[az])(?=.[0-9])(?=.[!@#$%^&])[a-zA-Z0-9!@#$%^&]{8,16}$/);

        更新代码

        var re = /^(?=.[AZ])(?=.[az])(?=.[0-9])(?=. em>[!@#$%^&])[a-zA-Z0-9!@#$%^&]{8,16}$/;

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-05-30
          • 1970-01-01
          • 2016-08-16
          • 1970-01-01
          • 1970-01-01
          • 2014-11-29
          相关资源
          最近更新 更多