您好我有以下代码。
<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
<input id="email" type="text" /><br />
Password
<input id="pwd1" type="password" /><br />
Confirm
<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个小时试图通过一些已经实现的表单或示例来解决我的代码中的解决方案或错误。
任何帮助表示感谢。
答案 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;
}