Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript表单验证不起作用_Javascript_Html - Fatal编程技术网

Javascript表单验证不起作用

Javascript表单验证不起作用,javascript,html,Javascript,Html,我想知道,如果有人可以帮助修复,为什么我的表单验证不起作用。 我需要它来验证表单中的输入,但它不起作用,只是提交。我理解大多数逻辑,但不知道为什么它不起作用 <form id="regform" method="post" action="register.php"> <p>Areas marked with a (*) are required by the form!</p> <fieldset>

我想知道,如果有人可以帮助修复,为什么我的表单验证不起作用。 我需要它来验证表单中的输入,但它不起作用,只是提交。我理解大多数逻辑,但不知道为什么它不起作用

<form id="regform" method="post" action="register.php">
                <p>Areas marked with a (*) are required by the form!</p>
        <fieldset>
            <legend>Account Information</legend>
            <div class="textinput">
                <label for="username">User Name *</label>
                <input id="username" type="text" name="id" />
            </div>
            <div class="textinput">
                <label for="email">Email *</label>
                <input id="email" type="text" name="id" />
            </div>
            <div class="textinput">
                <label for="pwd1">Password *</label>
                <input id="pwd1" type="password" name="pwd1" />
                <span id="pwdHelpBtn" class="button" >Password Rule</span>
                <div id="pwdHelpWin" class="window" >
                    <p>Password must satisfy the following:</p>
                    <ul>
                        <li>Must be 8 characters long</li>
                        <li>Must contain atleast 1 number</li>
                        <li>Must contain atleast 1 upper & lower case letter</li>
                    </ul>
                    <span id="pwdHelpClose" class="button" >Close</span>
                </div>
            </div>
            <div class="textinput">
                <label for="pwd2">Retype Password *</label>
                <input id="pwd2" type="password" name="pwd2" />
            </div>
        </fieldset>
        <fieldset>
            <legend>User Information</legend>
            <div class="textinput">
                <label for="name">Name *</label>
                <input id="name" type="text" name="name" />
            </div>
            <div class="radioinput">
                <fieldset>
                    <legend>Gender *</legend>
                    <input id="genderm" type="radio" name="gender" value="M" />
                    <label for="genderm">Male</label>
                    <input id="genderf" type="radio" name="gender" value="F" />
                    <label for="genderf">Female</label>     
                </fieldset>
            </div>
        </fieldset> 
        <p>
            <input id="signup" type="submit" value="Submit"/>
        </p>
    </form>


function validate()
{   
    var pwd1 = document.getElementById("pwd1").value;
    var pwd2 = document.getElementById("pwd2").value;
    var username = document.getElementById("username").value;
    var genderm = document.getElementById("genderm").checked;
    var genderf = document.getElementById("genderf").checked;
    var name = document.getElementById("name").value;
    var email = document.getElementById("email").value;

    var errmsg = "";
    var result = true;
    var pattern = /^[a-zA-z ]+$/;

    var pwd1length = pwd1.length;

    if(email == "")
    {
        errmsg += "Email cannot be empty\n";
    }
    else
    {
        if(!email.match("@"))
        {
            errmsg += "Please enter email address\n";
        }
    }
    if(pwd1 == "")
    {
        errmsg += "Please Enter a Password\n";
    }
    else
    {
        if(pwd1length < 6)
            errmsg += "Password must be atleast 6 characters long\n";
    }

    if(pwd2 == "")
    {
        errmsg += "Please Re-enter a Password\n";
    }
    else
    {
        if(pwd2 != pwd1)
        {
            errmsg += "Password does not match\n";
        }
    }
    if(username == "")
    {
        errmsg += "Please enter a User Name\n";
    }
    else
    {
        if(!username.match (pattern))
        {
            errmsg += "User Name Contains Symbols\n";
        }
    }
    if(!(genderm || genderf))
    {
        errmsg += "Please Select Gender\n";     
    }
        if(name != "")
    {
        errmsg += "Please enter a name\n"
    }
    if(errmsg != "")
    {   
        alert (errmsg);
        result = false;
    }
    return result;
}
function init()
{
    name = document.getElementById("name");
    email = document.getElementById("email");
    pwd1 = document.getElementById("pwd1");
    pwd2 = document.getElementById("pwd2");
    username = document.getElementById("username");

    var regForm = document.getElementById("regform");

    regForm.onsubmit = validate;

}

window.onload = init;

表格中需要标有(*)的区域

帐户信息 用户名* 电子邮件* 密码* 密码规则 密码必须满足以下条件:

  • 长度必须为8个字符
  • 必须至少包含1个数字
  • 必须至少包含1个大写和小写字母
接近 重新输入密码* 用户信息 名字* 性别* 男性 女性

函数验证() { var pwd1=document.getElementById(“pwd1”).value; var pwd2=document.getElementById(“pwd2”).value; var username=document.getElementById(“用户名”).value; var genderm=document.getElementById(“genderm”)。已选中; var genderf=document.getElementById(“genderf”).checked; var name=document.getElementById(“name”).value; var email=document.getElementById(“email”).value; var errmsg=“”; var结果=真; 变量模式=/^[a-zA-z]+$/; var pwd1length=pwd1.length; 如果(电子邮件==“”) { errmsg+=“电子邮件不能为空\n”; } 其他的 { 如果(!email.match(“@”)) { errmsg+=“请输入电子邮件地址\n”; } } 如果(pwd1==“”) { errmsg+=“请输入密码\n”; } 其他的 { 如果(pwd1长度<6) errmsg+=“密码长度必须至少为6个字符\n”; } 如果(pwd2==“”) { errmsg+=“请重新输入密码\n”; } 其他的 { 如果(pwd2!=pwd1) { errmsg+=“密码不匹配\n”; } } 如果(用户名==“”) { errmsg+=“请输入用户名\n”; } 其他的 { 如果(!username.match(模式)) { errmsg+=“用户名包含符号\n”; } } if(!(genderm | genderf)) { errmsg+=“请选择性别\n”; } 如果(名称!=“”) { errmsg+=“请输入名称\n” } 如果(errmsg!=“”) { 警报(errmsg); 结果=假; } 返回结果; } 函数init() { 名称=document.getElementById(“名称”); email=document.getElementById(“电子邮件”); pwd1=document.getElementById(“pwd1”); pwd2=document.getElementById(“pwd2”); 用户名=document.getElementById(“用户名”); var regForm=document.getElementById(“regForm”); regForm.onsubmit=validate; } window.onload=init;
我发现了问题,如果(name!=“”)要解决,您必须替换以下代码

 if(name == "")
    {
        errmsg += "Please enter a name\n"
    }
函数验证()
{   
var pwd1=document.getElementById(“pwd1”).value;
var pwd2=document.getElementById(“pwd2”).value;
var username=document.getElementById(“用户名”).value;
var genderm=document.getElementById(“genderm”)。已选中;
var genderf=document.getElementById(“genderf”).checked;
var name=document.getElementById(“name”).value;
var email=document.getElementById(“email”).value;
var errmsg=“”;
var结果=真;
变量模式=/^[a-zA-z]+$/;
var pwd1length=pwd1.length;
如果(电子邮件==“”)
{
errmsg+=“电子邮件不能为空\n”;
}
其他的
{
如果(!email.match(“@”))
{
errmsg+=“请输入电子邮件地址\n”;
}
}
如果(pwd1==“”)
{
errmsg+=“请输入密码\n”;
}
其他的
{
如果(pwd1长度<6)
errmsg+=“密码长度必须至少为6个字符\n”;
}
如果(pwd2==“”)
{
errmsg+=“请重新输入密码\n”;
}
其他的
{
如果(pwd2!=pwd1)
{
errmsg+=“密码不匹配\n”;
}
}
如果(用户名==“”)
{
errmsg+=“请输入用户名\n”;
}
其他的
{
如果(!username.match(模式))
{
errmsg+=“用户名包含符号\n”;
}
}
if(!(genderm | genderf))
{
errmsg+=“请选择性别\n”;
}
如果(名称==“”)
{
errmsg+=“请输入名称\n”
}
如果(errmsg!=“”)
{   
警报(errmsg);
结果=假;
}
警惕(“成功”);
返回结果;
}
函数init()
{
名称=document.getElementById(“名称”);
email=document.getElementById(“电子邮件”);
pwd1=document.getElementById(“pwd1”);
pwd2=document.getElementById(“pwd2”);
用户名=document.getElementById(“用户名”);
var regForm=document.getElementById(“regForm”);
regForm.onsubmit=validate;
}
window.onload=init

表格中需要标有(*)的区域

帐户信息 用户名* 用户名必须是字母表 电子邮件* 密码* 密码规则