电子邮件验证功能无法与javascript表单验证中的元素[x]一起使用

电子邮件验证功能无法与javascript表单验证中的元素[x]一起使用,javascript,validation,email,function,Javascript,Validation,Email,Function,我在顶部添加了这个validate email函数,我不知道如何将它设为ref.element[6],它是表单中的email字段,我不确定 return re.test(email); 声明的全部内容是 以下是完整的脚本代码: <script type="text/javascript"> function validateEmail(email) { var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\

我在顶部添加了这个validate email函数,我不知道如何将它设为ref.element[6],它是表单中的email字段,我不确定

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>

功能验证邮件(电子邮件){
变量re=/^(([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)|(\
“+\”)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.]
-Z \-0-9]+\)+[a-zA-Z]{2,}))$/;
返回重新测试(电子邮件);
}   
功能验证(表格){
if(form.elements[3]。值=“”){
警报(“请输入您的名字”);
form.first_name.focus();
返回false;
  }
if(form.elements[4]。值=“”){
警报(“请输入您的姓氏”);
form.last_name.focus();
返回false;
  }
if(form.elements[6]。值=“”){
警报(“请输入您的电子邮件地址”);
form.email.focus();
返回false;
如果(验证邮件(电子邮件)){
$(“#结果”)。文本(电子邮件+”是有效的电子邮件地址:);
$(“#结果”).css(“颜色”、“绿色”);
}否则{
$(“#结果”)。文本(电子邮件+”不是有效的电子邮件地址:(“”);
$(“#结果”).css(“颜色”、“红色”);
返回false;
}
if(form.elements[7]。值=“”){
警报(“请输入您的电话号码”);
form.phone.focus();
返回false;
  }
if(form.elements[17]。值=“”){
提醒(“请让我们知道您最感兴趣的内容”);
form.phone.focus();
返回false;
  }
if(form.elements[18]。值=“”){
警报(“请输入您最感兴趣的区域”);
form.phone.focus();
返回false;
  }
if(form.elements[20]。值=“”){
警报(“请输入您的预算下限”);
form.phone.focus();
返回false;
  }
if(form.elements[21]。值=“”){
警报(“请输入预算的高端”);
form.phone.focus();
返回false;
  }
返回true;
}

在您的内部
validation()
传递给
validateEmail
的函数变量
email
几乎没有定义

你应该:

validateEmail(form.email.value);

希望这有助于…

功能:

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);
}   

测试函数是regex对象固有的,这意味着您的浏览器将知道如何使用它(测试函数的规格:)

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

e、 g


muwhahah…我被迫使用
form.elements
,因为我无法控制我的id,它们是由数据库自动生成的:)数据库几乎在所有id前面加上
00
我看不到测试函数,但是…:/@DarekBridges是一个javascript函数,你有它。@DarekBridges测试函数是regex对象固有的,这意味着你的浏览器将知道如何处理它(测试函数的规格:)
if(!validateEmail(form.elements[6].value)) {
  alert('Please enter a valid email address');
  form.email.focus();
  return false;
}
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;
}
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;
  }
 //...
}