使用javascript在XML中验证电子邮件是否匹配
Validate email for match in XML using javascript
纠结于此,我是一名学生,请帮助我指出正确的方向。
我用下面的javascript代码检查XML文档是否有匹配的电子邮件,提醒用户并返回false。
function validateEmail()
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200)
{
checkEmail(xhttp);
}
}
xhttp.open("GET", "customer.xml", true);
xhttp.send();
function checkEmail(xml)
{
var xmlDoc = xml.responseXML;
x = xmlDoc.getElementsByTagName("email");
txt = "";
for (i = 0; i < x.length; i++)
{
txt += x[i].childNodes[0].nodeValue;
}
if (document.myForm.email.value == txt )
{
alert('That email is taken');
document.myForm.phone.focus();
return false;
}
document.getElementById("test").innerHTML = txt;
}
}
我可以得到推荐吗?它在XML文件中输出电子邮件,所以这是工作的,但if语句似乎不太正确。??
XML:<?xml version="1.0"?>
<customers>
<customer>
<customerid>
1
</customerid>
<firstname>
ben
</firstname>
<surname>
ben
</surname>
<email>
ben@gmail.com
</email>
<password>
ben
</password>
<phone>
</phone>
</customer>
</customers>
HTML: <h1>Registration</h1>
<p>New Users please enter your details below:</p>
<div id="test">TEST</div>
<fieldset>
<form name="myForm" onsubmit="return validateForm()" method="post" >
<legend>
Email: <input type='email' name='email' onblur="if(this.value == '') { this.value='Your email'}" onfocus="{validateEmail()} if (this.value == 'Your email') {this.value=''}"/>
<br><br>
First Name: <input type='text' name='firstname'/>
<br><br>
Last Name: <input type='text' name='lastname'/>
<br><br>
Password: <input type='password' name='password'/>
<br><br>
Re-Type Password: <input type='password' name='password1'/>
<br><br>
Phone Number:<input type='tel' name='phone'/>
<span>* Optional </span>
<br><br>
<input type='Submit' value='Register' />
<input type='Reset' value='Reset'/>
</legend>
</form>
</fieldset>
<br><br>
<a href='home.htm'>Home</a></p>
您正在将现有的电子邮件地址连接到字符串txt
。
您应该使用数组来跟踪电子邮件地址,并检查输入值是否在数组中。
function checkEmail(xml) {
var x = xml.responseXML.getElementsByTagName("email"),
arr = [];
for (var i = 0; i < x.length; i++) {
arr.push(x[i].childNodes[0].nodeValue);
}
if (arr.indexOf(document.myForm.email.value) > -1) {
alert('That email is taken');
document.myForm.phone.focus();
return false;
}
}
相关文章:
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- 如何测试变量是否只有字母而不是abc1.关于验证电子邮件
- 如何检查当前用户电子邮件是否已在客户端js文件中验证
- 检查表单中的电子邮件是否正确
- 使用jquery验证插件检查数据库中是否存在电子邮件
- 使用 javascript 确定电子邮件地址是否有效
- 检查数据库中是否存在用户的电子邮件
- 所有有效的电子邮件是否至少包含一个@符号
- 使用javascript和 Asp.net 方法检查电子邮件是否已经存在
- ASP.NET 检查数据库中是否存在电子邮件的最佳方法
- 如何在 java 脚本中检查电子邮件 ID 是否存在
- 检查数据库中是否存在电子邮件文本框值
- Javascript - 检查是否配置了电子邮件
- jQuery表单验证-检查电子邮件是否相同
- 如何检查电子邮件是否发送成功?(我使用了<a href="mailto).我们可以使用javascrip
- 使用javascript在XML中验证电子邮件是否匹配
- Firebase没有't检查电子邮件是否作为帐户
- 我如何检查电子邮件是否存在于用户表与codeinighter和ajax
- 如何检查电子邮件是否以正确的格式在html、php中输入
- 检查电子邮件是否与指定的域匹配或拒绝