严格验证Javascript xhtml 1.0中的表单数据,不考虑此实例的服务器端脚本

严格验证Javascript xhtml 1.0中的表单数据,不考虑此实例的服务器端脚本,javascript,function,validation,email-validation,xhtml-1.0-strict,Javascript,Function,Validation,Email Validation,Xhtml 1.0 Strict,关于使用javascript验证电子邮件地址还有其他问题。还有一些关于验证表单的问题。但是,我无法让我的代码正常工作,也无法找到一个问题来解决这个特定问题 编辑 我完全理解在一个实时网站中,服务器端验证是至关重要的。我也理解发送电子邮件确认的价值。(事实上,我有一个拥有所有这些功能的网站)。我知道如何用php编写垃圾邮件检查代码 在本例中,我被要求验证电子邮件输入字段。我必须严格遵守XHTML1.0,因此不能使用“email”类型,也不允许使用服务器端脚本来完成此任务。我无法组织电子邮件确认,它

关于使用javascript验证电子邮件地址还有其他问题。还有一些关于验证表单的问题。但是,我无法让我的代码正常工作,也无法找到一个问题来解决这个特定问题

编辑

我完全理解在一个实时网站中,服务器端验证是至关重要的。我也理解发送电子邮件确认的价值。(事实上,我有一个拥有所有这些功能的网站)。我知道如何用php编写垃圾邮件检查代码

在本例中,我被要求验证电子邮件输入字段。我必须严格遵守XHTML1.0,因此不能使用“email”类型,也不允许使用服务器端脚本来完成此任务。我无法组织电子邮件确认,它必须通过javascript完全检查

我希望这能澄清我的问题

我试图验证一个表单的两个方面

检查所有字段是否都有数据。 查看是否输入了有效的电子邮件地址

我能够为数据验证表单字段,但尝试合并电子邮件检查对我来说是个麻烦

它以前发出警报,但现在根本没有被调用(或者至少它是这样运行的),这是错误的

一旦我开始工作,我就需要集中精力检查电子邮件地址是否匹配。然而,这是一个问题之外的问题

我只专注于在
javascript
中验证这一点。我不关心这个特定实例中的服务器端(这个问题之外的另一个问题)。谢谢


因此,这有助于解决问题。

我已经看到一个语法错误:

 var a=document.getElementById('fname');
 var b=document.getElementById('lname');
 var c=document.getElementById('email1');
 var d=document.getElementById('email12')

if(a==""||b==""||c==""||d=="")
 {
 alert('Please complete all required fields.');
 return false;
 }
else if ((id =='email1' || 'email2') 
应该是

else if ((id =='email1' || id=='email2') 
从我看到的地方

还请注意,在任何字段中输入空格也将通过测试:在测试空字段时,应修剪字段值


最后,关于验证电子邮件,这不是您使用regex的方式。有关如何在javascript+regex中验证电子邮件的演示,请阅读。

验证电子邮件地址的最佳方法是向该地址发送电子邮件。Regex只是不用于验证电子邮件地址。您可以验证正常的,如john。doe@email.com但如果您使用regex,您将拒绝其他有效的电子邮件地址

退房
而且:

我对我的问题的解决办法如下。我这里还有一张支票,看看电子邮件是否匹配

// JavaScript Document
//contact form function

 function ValidateInputs(){
 /*check that fields have data*/

 // create array containing textbox elements
 var inputs = [document.getElementById("fname"),_
document.getElementById("lname"), document.getElementById("message"),_
document.getElementById("email1"), document.getElementById("email2")];

    for(var i = 0; i<inputs.length; i++){
 // loop through each element to see if value is empty
        if(inputs[i].value == ""){

            alert("Please complete all fields.");
            return false;
        }
        else if ((email1.value!="") && (ValidateEmail(email1)==false)){

            return false;
        }
        else if ((email2.value!="") && (EmailCheck(email2)==false)){

            return false;
        }
    }
}   


function ValidateEmail(email1){
/*check for valid email format*/
    var reg =/^.+@.+$/;

    if (reg.test(email1.value)==false){

        alert("Please enter a valid email address.");
        return false;

    }
}

function EmailCheck(email2){

    var email1 = document.getElementById("email1");
    var email2 = document.getElementById("email2");

    if ((email2.value)!=(email1.value)){

        alert("Emails addresses do not match.");
        return false;
    }
}

<form onsubmit="return ValidateInputs();" method="post"  id="contactForm">

    <input  type="text"  name="fname" id="fname"  />
    <input  type="text"  name="lname" id="lname" />
    <input   type="text" onblur="return ValidateEmail(this);"  name="email1"  id="email1" />
    <input   type="text" onblur="return EmailCheck(this);" name="email2"  id="email2"/>
    <input type="submit" value="submit" name="submit"  />
</form>
//JavaScript文档
//接触形式函数
函数ValidateInputs(){
/*检查字段是否有数据*/
//创建包含文本框元素的数组
变量输入=[document.getElementById(“fname”)_
document.getElementById(“lname”)、document.getElementById(“消息”)_
document.getElementById(“email1”)、document.getElementById(“email2”)];
对于(var i=0;i
else if ((id =='email1' || id=='email2') 
// JavaScript Document
//contact form function

 function ValidateInputs(){
 /*check that fields have data*/

 // create array containing textbox elements
 var inputs = [document.getElementById("fname"),_
document.getElementById("lname"), document.getElementById("message"),_
document.getElementById("email1"), document.getElementById("email2")];

    for(var i = 0; i<inputs.length; i++){
 // loop through each element to see if value is empty
        if(inputs[i].value == ""){

            alert("Please complete all fields.");
            return false;
        }
        else if ((email1.value!="") && (ValidateEmail(email1)==false)){

            return false;
        }
        else if ((email2.value!="") && (EmailCheck(email2)==false)){

            return false;
        }
    }
}   


function ValidateEmail(email1){
/*check for valid email format*/
    var reg =/^.+@.+$/;

    if (reg.test(email1.value)==false){

        alert("Please enter a valid email address.");
        return false;

    }
}

function EmailCheck(email2){

    var email1 = document.getElementById("email1");
    var email2 = document.getElementById("email2");

    if ((email2.value)!=(email1.value)){

        alert("Emails addresses do not match.");
        return false;
    }
}

<form onsubmit="return ValidateInputs();" method="post"  id="contactForm">

    <input  type="text"  name="fname" id="fname"  />
    <input  type="text"  name="lname" id="lname" />
    <input   type="text" onblur="return ValidateEmail(this);"  name="email1"  id="email1" />
    <input   type="text" onblur="return EmailCheck(this);" name="email2"  id="email2"/>
    <input type="submit" value="submit" name="submit"  />
</form>