javascript中的验证无效

时间:2014-05-14 03:14:04

标签: javascript regex

以下代码用于验证电子邮件。对于像

这样的输入我是假的

mike@gmail.com

kid@gmail.com

stain@yahoo.com

有人可以指出代码中的错误吗?

   function validate(){
    fieldValue = document.getElementById("check").value;
    pattern = new RegExp(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/);       
    if(pattern.test(fieldValue)){
        alert("true");
    } else {
        alert("false");
    }       
}  

谢谢

3 个答案:

答案 0 :(得分:2)

A-Z只检查大写字母。另外添加a-z

[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}

答案 1 :(得分:1)

使用RegEx验证电子邮件地址是difficult

然而,您的代码的问题是外壳(正如其他人指出的那样)。您可以通过将A-Z更改为A-Za-z来修复此问题,这将检查小写字母和大写字母。

function validate(){
  fieldValue = document.getElementById("check").value;
  pattern = new RegExp(/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/);       
  if(pattern.test(fieldValue)){
    alert("true");
  } else {
    alert("false");
  }       
}

答案 2 :(得分:0)

为验证电子邮件地址,这种模式对我有用了很长时间:

/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/