使用javascript验证电子邮件

使用javascript验证电子邮件,javascript,Javascript,我编辑了WordPress插件中包含的现有验证功能,以添加电子邮件验证功能 function validateForm(form){ var $ = jQuery; // The code snippet I added // ********************************** var emailID = document.getElementsByName('useremail')[0].value; atpos = emailID.indexOf("@")

我编辑了WordPress插件中包含的现有验证功能,以添加电子邮件验证功能

function validateForm(form){
    var $ = jQuery;

// The code snippet I added
// **********************************
var emailID = document.getElementsByName('useremail')[0].value;
    atpos = emailID.indexOf("@");
    dotpos = emailID.lastIndexOf(".");

   if (atpos < 1 || ( dotpos - atpos < 2 ))
    {
        alert("Please enter correct email ID")
        return false;
    }

// End of the code added by me

else if(!$('input[name=title]', form).val()){
     alert("Please enter correct Name")
    $('input[name=title]', form).focus();
    return false;
    }
// ...
return true;
}
html代码:

<input type="text" name="useremail" id="useremail" required>
电子邮件验证代码派生自

我认为部分var emailID=document.getElementsByName'useremail'[0].value;这是不对的

我还尝试使用var emailID=document.getElementById'useremail';这也不起作用


添加:var emailID=document.getElementById'useremail';应该有用。问题是js文件没有在WordPress中正确排队。感谢您的评论。

代码在此小提琴中正常工作:

请记住,HTML5有一种保存电子邮件的输入类型:

 <input type="email" name="useremail" id="useremail" required>

你觉得呢?做一个console.logemailID,这是你期望的吗?还要注意的是,id应该是:document.getElementById'useremail'。value.String.match或RegExp.test。尝试使用var email=document.querySelector'useremail'。value为什么不使用正则表达式?如果我理解他的问题,他甚至无法从输入中获取要在RegExp中使用的值。但是是的,我想知道为什么不使用regexp而不是所有的位置检查;而不是var emailID=document.getElementsByName'useremail'[0]。值;我假设您的代码已经加载了jquery库