Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能告诉我为什么这个电子邮件验证不起作用吗?_Javascript_Html_Css - Fatal编程技术网

Javascript 有人能告诉我为什么这个电子邮件验证不起作用吗?

Javascript 有人能告诉我为什么这个电子邮件验证不起作用吗?,javascript,html,css,Javascript,Html,Css,我试图让电子邮件验证工作,但似乎无法解决问题。如果输入的不是有效的电子邮件,我希望它发出警报。我附上的代码是电子邮件功能和电子邮件的格式代码。谢谢你的帮助,谢谢 { var emailfield=document.getElementById("emailaddress").value; var atpos=emailfield.indexOf("@"); var dotpos=emailfield.lastIn

我试图让电子邮件验证工作,但似乎无法解决问题。如果输入的不是有效的电子邮件,我希望它发出警报。我附上的代码是电子邮件功能和电子邮件的格式代码。谢谢你的帮助,谢谢

  {
            var emailfield=document.getElementById("emailaddress").value;  
            var atpos=emailfield.indexOf("@");  
            var dotpos=emailfield.lastIndexOf(".");  
            if (atpos<1 || dotpos<atpos+2 || dotpos+2>=emailfield.length){  
              alert("Please enter a valid email address with an @ and proper domain.")  
              return false;  

            }
            } 
{
var emailfield=document.getElementById(“emailaddress”).value;
var atpos=emailfield.indexOf(“@”);
var dotpos=emailfield.lastIndexOf(“.”);

如果(atpos请参见以下内容。您可以将验证逻辑移动到其他功能

JavaScript:

function checkButons(element) {
  ...

  var emailfield = document.getElementById("emailaddress").value;
  var atpos = emailfield.indexOf("@");
  var dotpos = emailfield.lastIndexOf(".");

  if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= emailfield.length) {
    alert("Please enter a valid email address with an @ and proper domain.")
    return false;
  }

  ...
}
功能检查按钮(元素){
...
var emailfield=document.getElementById(“emailaddress”).value;
var atpos=emailfield.indexOf(“@”);
var dotpos=emailfield.lastIndexOf(“.”);
如果(atpos<1 | | dotpos=emailfield.length){
警报(“请输入带有@和适当域的有效电子邮件地址。”)
返回false;
}
...
}
HTML:


....

电子邮件地址:

....
浏览器将为您执行验证,而不是使用
使用类型电子邮件,但是如果您想在服务器端使用额外的valdiate,可以使用RegExp进行验证-

var email = text_email.value;
    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,}))$/;
    if (re.test(email)) {
        alert("Error msg");
        return false;
    }
var email=text\u email.value;
变量re=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\'+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.];
如果(重新测试(电子邮件)){
警报(“错误消息”);
返回false;
}
您好,请检查此代码笔

这是你的JS代码,它似乎在工作,它可能没有捕捉到所有可能的条件,但它肯定在工作。你能告诉我什么不工作吗

这是代码

<input name="Emailaddress"id='emailaddress'size=:50 type="text" required>
<button onclick="validate()">Click me</button>

function validate() {
var emailfield=document.getElementById("emailaddress").value;  
            var atpos=emailfield.indexOf("@");  
            var dotpos=emailfield.lastIndexOf(".");  
            if (atpos<1 || dotpos<atpos+2 || dotpos+2>=emailfield.length){  
              console.log("Please enter a valid email address with an @ and proper domain.")  
              return false;  
            }
}

点击我
函数验证(){
var emailfield=document.getElementById(“emailaddress”).value;
var atpos=emailfield.indexOf(“@”);
var dotpos=emailfield.lastIndexOf(“.”);

如果(atpos请在表单上保留一个提交按钮,因为一旦您在表单中有更多的输入并在提交时调用表单事件,表单将使用一个字段提交,我验证代码表单将不会提交

Function checkButons() {
  var emailfield = document.getElementById("emailaddress").value; 
  var atpos = emailfield.indexOf("@");
  var dotpos = emailfield.lastIndexOf(".");

  if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= emailfield.length) {
    alert("Please enter a valid email address with an @ and proper domain.")
    return false;
  }
}
函数checkButons(){
var emailfield=document.getElementById(“emailaddress”).value;
var atpos=emailfield.indexOf(“@”);
var dotpos=emailfield.lastIndexOf(“.”);
如果(atpos<1 | | dotpos=emailfield.length){
警报(“请输入带有@和适当域的有效电子邮件地址。”)
返回false;
}
}
HTML代码:

   <form action='#' method='post' name='f1' id="VPN" onsubmit="checkButons()">
 Email Address:<input name="Emailaddress"id='emailaddress'size=:50 type="text" required>
      Street Address:<input name="S_Address"id='s_address'size=:50 type="text" required>
     <input type="submit"  value="Submit">
 </form>


电邮地址:
街道地址:

使用输入型电子邮件。这将是一个很大的挑战easier@ashokpoudel是的,这会容易得多,但我需要用javascript来做。对不起,你应该描述你的期望和得到的。此外,你发布的代码无法执行,因为它不完整。你应该提供一个简短的、自包含的正确示例,可以说明你的问题lems()。另一件事是您的电子邮件验证远未完成。请参阅(OWSAP验证备忘单)和(RFC 5321)。另请参阅本文中接受的答案:验证似乎工作正常。出了什么问题?
Function checkButons() {
  var emailfield = document.getElementById("emailaddress").value; 
  var atpos = emailfield.indexOf("@");
  var dotpos = emailfield.lastIndexOf(".");

  if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= emailfield.length) {
    alert("Please enter a valid email address with an @ and proper domain.")
    return false;
  }
}
   <form action='#' method='post' name='f1' id="VPN" onsubmit="checkButons()">
 Email Address:<input name="Emailaddress"id='emailaddress'size=:50 type="text" required>
      Street Address:<input name="S_Address"id='s_address'size=:50 type="text" required>
     <input type="submit"  value="Submit">
 </form>