Javascript密码字段比较

时间:2015-01-21 06:40:01

标签: javascript html forms

您好我有以下代码。

        <script type="text/javascript">
            function validateForm() {
                var u = document.forms["myForm"]["username"].value;
                if (u == null || u == "") {
                    alert("First name must be filled out");
                    return false;
                }
                else 
                    var x = document.forms["myForm"]["email"].value;
                    var atpos = x.indexOf("@");
                    var dotpos = x.lastIndexOf(".");
                    if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= x.length)
                    {
                        alert("Not a valid e-mail address");
                        return false;
                    }

                    else 
                        var p = document.forms["myForm"]["pwd1"].value;
                    if ( p < 7)
                    {
                        alert("Not a valid password");
                        return false;
                    }

            }


</script>

         

    Username: <input type="text" name="username"><br />
    Email&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input id="email" type="text" /><br />
    Password&nbsp;
    <input id="pwd1" type="password" /><br />
    Confirm&nbsp;&nbsp;&nbsp;
    <input id="Password2" type="password" /><br />
    <br />
   <input type="submit" value="Submit"><br />






</div>
</form>

使用visual studio 13 asp runat服务器运行。 现在我的问题是另外2(用户名和电子邮件)如果它们不正确它会显示警告并通知用户(也就是我)有问题。

密码字段只有当它的emtpy与当前代码相同时才会这样做,如果我甚至只放一个字符,那么它会将我重定向到404,如果它是7个字符以上则是自然的。

我不知道为什么会发生这种情况,并且过去6个小时试图通过一些已经实现的表单或示例来解决我的代码中的解决方案或错误。

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:2)

如果要检查密码的长度,则代码应如下所示

var p = document.forms["myForm"]["pwd1"].value.length;

instead of

var p = document.forms["myForm"]["pwd1"].value;

答案 1 :(得分:0)

它可能对你有所帮助!!

function validate()
{
  var a = document.getElementById("pwd1");
  var b = document.getElementById("pwd2");
  if(!(a==b))
  {
    alert("both passwords are not matching");
    return false;
  }
  return true;
}