function validateEmail(value){
var patn=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;     
if(!patn.test(value)) return false; //判断Email是否合法
return true;
}以上是正则表达式判断Email是否合法的一段语句
在windows + Apache 环境下测试,如果Email合法,则返回true  若非法,返回false
可是在Linux + nginx 服务器下运行,不管Email是否合法, 都返回false。
求高手解答~~~~~~~~~

解决方案 »

  1.   

    把value打印出来看看,分别是什么值?js在客户端浏览器解析,不是node,关服务端半毛钱关系?
      

  2.   

    都查过了,两边的代码一模一样,打印出来的value都一样·····
    没辙了······
      

  3.   


    是不是value有空格了,空格alert出来看不出效果的,alert(value.length)看看长度是否一致
      

  4.   

     换成match无法获取返回值····
      

  5.   

    Try:var patn=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
      

  6.   


     alert(validDataEmail("[email protected]"));
      
      alert(validDataEmail("fengweiwei163.com"));
      
      function validDataEmail(val)
      {
    var patn=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

    if(patn.test(val))
    {
      return 1;
    }  
    else
    {
      return 0 ;
    }   }通过, 没有问题? 你把value 值 贴出来