【问题标题】:Javascript - Adding email validation function to existing validation functionJavascript - 将电子邮件验证功能添加到现有验证功能
【发布时间】:2014-05-14 19:04:00
【问题描述】:

首先抱歉,如果这可能涉及重复,但我决定打开一个新问题,因为我找不到我的问题的答案,其次请知道我仍在学习 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()"  />

【问题讨论】:

  • 这行得通吗? if (email.value==""){ email.style.backgroundColor="red"; email.style.color="白色"; email.value="需要电子邮件" return false; }else{ 返回 validateEmail(email); }

标签: javascript jquery validation


【解决方案1】:

随便用

email.value 获取电子邮件的价值

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

【讨论】:

  • 非常感谢您试一试,让您知道
  • @Marilee 很高兴它有帮助:)
【解决方案2】:

试试

 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;   
    }
   var re = /\S+@\S+\.\S+/;
   if (!re.test(email.value)) {
     email.style.backgroundColor="red";
    email.style.color="white";
    email.value="Email not proper"
    return false; 
   }

     return true;
} //end function

【讨论】:

  • 你的代码有什么不同if (!re.test(email.value)) ??
  • 我想念你的答案,伙计。
  • 真的是我在你发布前 12 分钟发布的吗?
  • 真正的朋友,我通过函数 validateEmail(email) { var re = /\S+@\S+\.\S+/;返回重新测试(电子邮件); }
  • 是的,您还复制了我在答案中所做的评论。查看编辑:p
猜你喜欢
  • 2016-11-19
  • 1970-01-01
  • 2011-01-09
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-16
  • 1970-01-01
相关资源
最近更新 更多