Javascript - 将电子邮件验证功能添加到现有验证功能

标签 javascript jquery validation

首先,如果这可能涉及到重复,我深表歉意,但是我决定提出一个新问题,因为我找不到我的问题的答案,其次,请知道我仍在大量学习 Javascript。

我有一个验证函数,可以验证表单中的输入字段,一切正常,但我需要验证输入的电子邮件地址是否正确,我知道这可以通过类似于以下代码的代码来完成:

function validateEmail(email) 
{
    var re = /\S+@\S+\.\S+/;
    return re.test(email);
}

我该如何将上述代码添加到我现有的验证函数中?

我的代码如下:

function validate(){
    //form validation

    var name=document.getElementById("name");
    var surname=document.getElementById('surname');
    var nr=document.getElementById("nr");
    var email=document.getElementById("email");

    //name
  if (name.value=='') {
    name.style.backgroundColor="red";
    name.style.color="white";
    name.value="Name is required"
    return false;
  } 

 else if(isNaN(name.value)==false){
    name.style.backgroundColor="red";
    name.style.color="white";
    name.value="Name: Only enter letters A-Z"
    return false;
  } 

      //surname
     if (surname.value == ""){
    surname.style.backgroundColor="red";
    surname.style.color="white";
    surname.value="Surname is required"
    return false;
     }

    else if(isNaN(surname.value)==false){
    surname.style.backgroundColor="red";
    surname.style.color="white";
    surname.value="Surname: Only enter letters A-Z"
    return false;
  } 
    //number
    if (nr.value=='') {
    nr.style.backgroundColor="red";
    nr.style.color="white";
    nr.value="Number is required"
    return false;
  } 

 else if(isNaN(nr.value)==true){
    nr.style.backgroundColor="red";
    nr.style.color="white";
    nr.value="Number: Only enter numbers 0-9"
    return false;
  }      
    //email
    if (email.value==""){
    email.style.backgroundColor="red";
    email.style.color="white";
    email.value="Email is required"
    return false;   
    }

     return true;
} //end function


<input type="text" id="name" value="Name" class="textbox"  name="name" onfocus="if(this.value=='Name' || this.value=='Name is required' || this.value=='Name: Only enter letters A-Z' ) this.value='';" /><br />
    <br />
    <input type="text" id="surname" value="Surname" class="textbox"  name="surname"  onfocus="if(this.value=='Surname') this.value='';"  /><br />
    <br />
    <input type="text" value="Contact Number" class="textbox" id="nr" name="nr" onfocus="if(this.value=='Contact Number') this.value='';"   /> <br />
    <br />
    <input type="text" value="Email" class="textbox" id="email" name="email"onfocus="if(this.value=='Email') this.value='';" /><br />
    <br />

 <input type="submit" name="submit" class="butt" value="Send" onclick="return validate()"  />

最佳答案

就用

email.value 获取邮件的值

var re = /\S+@\S+\.\S+/;
if (!re.test(email.value)) { // if condition fails that is not valid email
    return false; //return false 
};

关于Javascript - 将电子邮件验证功能添加到现有验证功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23652378/

相关文章:

javascript - Firefox 3.5 和 IE8 中的 getAttribute 无法正常工作

javascript - Firefox 中 Google 的 downloadDataURI

javascript - 在 javascript 中模仿 jsonp

validation - 验证失败后输入值未清除

ruby-on-rails - 接受_nested_attributes_for 和find_or_create?

Xcode 7 - 无法验证您的应用程序

javascript - 清除 Google map 中的路线

javascript - 如何替换 Polymer 中的元素和 stub 方法

javascript - 从下拉菜单中选择值

jquery - 单击复选框时更改唯一的行表颜色