匹配字符串:@开头
字母、数字、下划线、点组成;
不能以.开始或结尾
不能以点com、点net等域名结尾;正确格式:@xxx @xx_xx @xx.xx
不正确格式:@xxx. @.xxx @xxx.com @xxx.net

解决方案 »

  1.   

    /^(?!.*\.(com|net)?$)@(?!\.)[\w\.]+$/i
      

  2.   


    似乎好像不能用诶,下面这个是我写的,通过测试了,但是不能排除以点com和点net结尾,其它都好了,自己不会改了。
    /\@([\w]+([\.]?)([\w]+))/
      

  3.   


    var arr = ["@xxx","@.xxx","@xx_xx","@xxx.","@xxx.com","@xxx.net","@xx.xx"];
    alert("正确格式:"+arr.filter(function(v){
    return /^(?!.*\.(com|net)?$)@(?!\.)[\w\.]+$/i.test(v);
    }));
      

  4.   

    /^@([a-zA-Z_0-9]+\.)*(?!(com|net))([a-zA-Z_0-9]+)$/
      

  5.   

    上面再com和net后都加$会更准确
      

  6.   

    四楼的写法,将[a-zA-Z_0-9]换成\w就完美了
      

  7.   

    /^@[^\.]*\.*(?!(com|net))(\w+)$/这个好像更容易理解一些,@开头,紧接非.的任何然后可以有点或者没有,然后非com和net的以其他字符结尾。
      

  8.   


    /^(?!.*\.(?:com|net)$)@\w+(?:\.\w+)*$/i
      

  9.   

    /^@(?!\..*)(?!.*\.(com|net)?$)[\w.]+$/i
      

  10.   


    关键是要处理
    @.xxx
    @xxx....xxxx
    @xxxxx.
    这样的情况
    上面大多都没有处理连续的.
      

  11.   

    @天际的海浪 @stherix @老鼠拧刀满街找猫 @scscms太阳光
      

  12.   

    /^(?!.*(\.|com|net)$)@\w[\w\.]*/