还有其他关于使用 javascript 验证电子邮件地址的问题。还有关于验证表格的问题。但是,我无法让我的代码正常工作,也无法找到涵盖此特定问题的问题。
编辑
我完全理解在实时网站中,服务器端验证至关重要。我也了解发送电子邮件确认的价值。(我实际上有一个具有所有这些功能的网站)。我知道如何在 php 中编写垃圾邮件检查代码。
在这种情况下,我被要求验证电子邮件输入字段。我必须严格遵守 xhtml 1.0,因此不能使用“电子邮件”类型,并且不允许我使用服务器端脚本进行此分配。我无法组织电子邮件确认,它必须通过 javascript 完全检查。
我希望这能澄清我的问题
我正在尝试为两件事验证表单。
检查所有字段是否都有数据。查看是否输入了有效的电子邮件地址。
我能够验证数据的表单字段,但尝试合并电子邮件检查对我来说是个麻烦。
它以前发出警报,但不正确,现在它根本没有被调用(或者至少它是这样的)。
一旦我完成这项工作,我就需要专注于检查电子邮件地址是否匹配。然而,这是这个问题之外的问题。
我只专注于在javascript
. 我不关心这个特定实例中的服务器端(这个问题之外的另一个问题)。谢谢。
function Validate()
{
var inputs = [document.getElementById('fname'),_
document.getElementById('lname'), document.getElementById('email1'),_
document.getElementById('email2')];
for(var i = 0; i<inputs.length; i++)
{
if(inputs[i].value == '')
{
alert('Please complete all required fields.');
return false;
}
else if ((id =='email1' || 'email2') &&_
(inputs[i].value!= /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/ )){
alert('Please enter a valid email address.');
return false;
}
}
}
<form onsubmit="return Validate()" action="" method="post" id="contactForm" >
<input type="text" name="fname" id="fname" />
<input type="text" name="lname" id="lname" />
<input type="text" name="email1" id="email1" />
<input type="text" name="email2" id="email2"/>
<input type="submit" value="submit" name="submit" />
</form>
旁注 - 格式化换行的文本,是否可以(为了发布问题,添加和下划线并创建一个新行以提高可读性?在实际文本中我没有这个!请告知是否有一种更简单的方法来格式化我的帖子代码。再次感谢。
编辑 2
当我注释掉它时它起作用:
/*else if ((id =='email1' || id=='email2') && (inputs[i].value!= /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/ )){
alert('Please enter a valid email address.');
return false;
}*/
因此,这有助于排除故障。