用于检查javascript上的电子邮件的函数';行不通

用于检查javascript上的电子邮件的函数';行不通,javascript,Javascript,我试图检查我的网站上的电子邮件字段,但我的函数总是返回false。正则表达式似乎正确,但函数工作不正常 代码如下: function CheckEmail(email) { //regular expression to check the email field var expr = /^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$/; if (expr.test

我试图检查我的网站上的电子邮件字段,但我的函数总是返回false。正则表达式似乎正确,但函数工作不正常

代码如下:

function CheckEmail(email)
{
//regular expression to check the email field
var expr = /^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$/;

if (expr.test(email)) {
    document.getElementById('alertEmail').innerHTML = '<img title="Valid Email" src="images/icoOk.jpg" alt="Ok"/>';
    f = true;
    return true;
}
else {
    document.getElementById('alertEmail').innerHTML = '<img title="Invalid Email!" src="images/icoErro.gif" alt="Erro"/>';
    f = false;
    return false;
}
}
功能检查电子邮件(电子邮件)
{
//用于检查电子邮件字段的正则表达式
变量表达式=/^([0-9a-zA-Z]+([uU.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-Z,a-Z,,,-]*(.){1}[a-zA-Z]{2,4})+$/;
如果(测试(电子邮件)){
document.getElementById('alertEmail')。innerHTML='';
f=真;
返回true;
}
否则{
document.getElementById('alertEmail')。innerHTML='';
f=假;
返回false;
}
}
有什么想法吗


非常感谢大家的帮助

如果您向函数传递了一个正确的字符串,则函数运行良好,请参见使用它。 尝试将电子邮件变量输出到控制台或提醒它查看值:

console.log(email);

作为函数的第一行


空字符串总是会从方法返回false。

函数是如何调用的?javascript函数工作正常,问题可能在于如何调用它。尝试添加console.info(电子邮件)以查看您传递的内容。请在我的页面中查看它始终显示电子邮件无效:/I我尝试放置警报,它显示[objectHTMLInputElement],顺便说一句,这是我尝试获取电子邮件的输入。它是一个用作文本框的图像。当它获得焦点时,只需将图像替换为另一个没有任何文本的图像,这样用户就可以在元素上键入所需的电子邮件.value以获取输入的实际字符串值。在onblur中,尝试以下操作:CheckEmail(document.getElementById('enterEmail').value)
alert(email);