简体   繁体   English

电子邮件Javascript验证消息

[英]Email Javascript Validation Mesage

I would like a message to be shown to the user, if an email address is entered incorrectly. 如果电子邮件地址输入错误,我希望向用户显示一条消息。

Html HTML

<p>Email: <input type="email" id="email" onblur="validateEmail()" 
required>

<p id="emailMessage"></p>

Javascript Java脚本

function validateEmail(email){
    var regEx = /\S+@\S+/;
    var result = regEX.test(email);

    if (result = true)
        document.getElementById("emailMessage").innerhtml = ""
    else (result = false)
        document.getElementById("emailMessage").innerhtml = "Please enter a valid 
email address"
}

There are many issues in your approach. 您的方法有很多问题。 Because you seems to be new to this, I will tell you what is wrong step-by-step: 因为您似乎对此并不陌生,所以我将逐步告诉您什么地方不对:

  • result = true and result = false will set the value of result to a boolean. result = trueresult = false会将result的值设置为布尔值。 A condition has to be == or === . 条件必须为===== Or in your case, just use the result variable, what is already an boolean because of the result of .test() . 或者在您的情况下,只需使用result变量,由于.test()的结果,该变量已经是布尔值。
  • Use innerHTML instead of innerhtml . 使用innerHTML代替innerhtml
  • It's not allowed to break a string in javascript like this. 不允许像这样在JavaScript中破坏字符串。
  • Your variable is called regEx not regEX . 您的变量称为regEx而不是regEX
  • email is not a parameter of the function by default, you need to pass this to the function to have it available. 默认情况下, email不是该函数的参数,您需要this email传递给该函数以使其可用。
  • You need to check on email.value , nut just email , beacuse this is just the element. 您需要检查email.value ,仅检查email ,因为这只是元素。
  • else can't have a condition to check, if you want to you need to use else if , but that is not needed here. else没有条件可以检查,如果需要,则需要使用else if ,但是这里不需要。

 function validateEmail(email) { var regEx = /\\S+@\\S+/; var result = regEx.test(email.value); if (result) { document.getElementById("emailMessage").innerHTML = ""; } else { document.getElementById("emailMessage").innerHTML = "Please enter a valid email address"; } } 
 <p>Email:</p> <input type="email" id="email" onblur="validateEmail(this)" required> <p id="emailMessage"></p> 

//correct code
  function validateEmail(email)
     {
      var regEx = /\S+@\S+/;
      var result = regEX.test(email);
      if (result == true)
          document.getElementById("emailMessage").innerHTML = ""
      else (result == false)
          document.getElementById("emailMessage").innerHTML = "Please enter a valid email address"
}
document.getElementById("emailMessage").innerHTML = "Please enter a valid 
email address"

//use innerHTML not innerhtml, that is the problem //使用innerHTML而不是innerhtml,那就是问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM