电子邮件验证函数在 JavaScript 表单验证中与 element[x] 不起作用
email validation function not working with element[x] in javascript form validation
我在顶部添加了这个验证电子邮件功能,我不知道如何使它成为 ref. 元素[6],这是表单中的电子邮件字段,我不确定
return re.test(email);
声明是关于以下是完整的脚本代码:
<script type="text/javascript">
function validateEmail(email) {
var re = /^(([^<>()[']''.,;:'s@'"]+('.[^<>()[']''.,;:'s@'"]+)*)|('
".+'"))@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'])|(([a-zA
-Z'-0-9]+'.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
function validation(form) {
if(form.elements[3].value == '' ) {
alert('Please enter your first name');
form.first_name.focus();
return false;
}
if(form.elements[4].value == '') {
alert('Please enter your last name');
form.last_name.focus();
return false;
}
if(form.elements[6].value == '') {
alert('Please enter your email address');
form.email.focus();
return false;
if (validateEmail(email)) {
$("#result").text(email + " is a valid email address :)");
$("#result").css("color", "green");
} else {
$("#result").text(email + "is not a valid email address :(");
$("#result").css("color", "red");
return false;
}
if(form.elements[7].value == '') {
alert('Please enter your telephone number');
form.phone.focus();
return false;
}
if(form.elements[17].value == '') {
alert('Please let us know what you are most interested in');
form.phone.focus();
return false;
}
if(form.elements[18].value == '') {
alert('Please enter the area you are most interested in');
form.phone.focus();
return false;
}
if(form.elements[20].value == '') {
alert('Please enter the low end of your budget');
form.phone.focus();
return false;
}
if(form.elements[21].value == '') {
alert('Please enter the high end of your budget');
form.phone.focus();
return false;
}
return true;
}
</script>
函数:
function validateEmail(email) {
var re = /^(([^<>()[']''.,;:'s@'"]+('.[^<>()[']''.,;:'s@'"]+)*)|('
".+'"))@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'])|(([a-zA
-Z'-0-9]+'.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
有一个正则表达式对象(re
(,正则表达式对象使用 test
函数来测试传递到函数中的电子邮件是否根据正则表达式进行验证。 test
函数如果作为电子邮件进行验证,则返回true
,如果未验证,则返回false
。
你可以像这样使用它:
if(!validateEmail(form.elements[6].value)) {
alert('Please enter a valid email address');
form.email.focus();
return false;
}
测试函数是正则表达式对象的原生函数,这意味着您的浏览器将知道如何处理它(测试函数的规格:developer.mozilla.org/en/JavaScript/Reference/Global_Objects/(
在你内部validation()
传递给validateEmail
的函数变量email
几乎是未定义的。
您应该:
validateEmail(form.email.value);
或
validateEmail($('#email').val()); // considering that `email` field has id="email"
希望这有帮助...
form.elements
是你在1996年选择DOM元素的方式。您应该改用document.getElementById
:
var resultElement = $("#result");
var emailVal = document.getElementById('emailBoxId').value;
if (validateEmail(emailVal )) {
resultElement
.text(emailVal + " is a valid email address :)")
.css("color", "green");
} else {
resultElement
.text(emailVal + "is not a valid email address :(")
.css("color", "red");
return false;
}
创建一个变量email
并将其值设置为 form.elements[6].value
例如
function validation(form) {
if(form.elements[3].value == '' ) {
alert('Please enter your first name');
form.first_name.focus();
return false;
}
//...
var email = form.elements[6].value
if (validateEmail(email)) {
$("#result").text(email + " is a valid email address :)");
$("#result").css("color", "green");
} else {
$("#result").text(email + "is not a valid email address :(");
$("#result").css("color", "red");
return false;
}
//...
}
相关文章:
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- jQuery自定义验证比较多个输入的序列
- 使用html中的外部javascript进行数据验证
- 如何使用jquery Validation验证Formspread
- jquery中的文本框验证
- jQuery:.click(function(){(element),collapse('show',f
- 在验证和发送邮件后更改联系人表单的 html
- 代码不会验证
- JS验证ajax返回的html中的表单数据
- 同步调用,直到用户通过angular验证为访问者
- 带有加号的电话号码验证(可选)
- 解析javascript表单验证器
- 两位数的月份日期验证
- 使用angularjs验证文本框中的电子邮件
- 验证Javascript中的Textarea
- js表单验证中的docment.forms[“myForm”][“Element”].value命令
- 电子邮件验证函数在 JavaScript 表单验证中与 element[x] 不起作用
- 简单Javascript表单验证长度.(element.value.length<2)
- 在自定义方法中使用.element(element)时,jQuery验证失败