var emailreg = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$";
var ee = "[email protected]";
var rege = new RegExp(emailreg);
alert(rege.test(ee)); // 一直提示false
上面的正则始终匹配不是,求解..

解决方案 »

  1.   

    油箱有那么复杂吗?看看这个匹配要求够不够?<script type="text/javascript">
    var reg = /^\w+@\w+\.\w+(\.\w+)?$/gi;
    var ee = "[email protected]";
    //var rege = new RegExp(emailreg);
    alert(reg.test(ee)); // 一直提示false
    </script>
      

  2.   

    \w+([-.]\w+)*\.\w+([-.]\w+)*
    这是神马
    电子邮件的验证似乎网上有很多的。。
    你的这个写法有问题
    比如
    163.com那么你觉得匹配的过程是神马一个情况呢。
    [A-Za-z0-9\-]+(\.[a-zA-Z\d\-]+)+这样试试呢。当然我只是举例子,没有考虑周全。
      

  3.   


    var emailreg = "^\w+@\w+\.\w+$";
    var ee = "[email protected]";
    var rege = new RegExp(emailreg);
    alert(rege.test(ee)); // 一直提示false
    现在把正则表达式精简了一下,只要匹配到@和.就行但是结果还是一样...继续求解
      

  4.   


    var emailreg = "^\\w+@\\w+\\.\\w+$";
    var ee = "[email protected]";
    var rege = new RegExp(emailreg);
    alert(rege.test(ee)); 
      

  5.   


    var emailreg = /^\w+@\w+\.\w+$/;
    var ee = "[email protected]";
    alert(emailreg.test(ee));
      

  6.   

    var emailreg = "/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/";
    var ee = "[email protected]";
    var rege = new RegExp(emailreg);
      

  7.   

    问题解决!
    谢谢knightzhuwei看来这么写正则和java一个通病.
      

  8.   


    var emailreg = "^\\w+@\\w+\\.\\w+(\\.\\w+)*$"; //这里,你用字符串表示正则,转义符\要用\\表示,如果要匹配\则要用\\\
    var ee = "[email protected]";
    var rege = new RegExp(emailreg, 'g');
    alert(rege.test(ee));