个人不懂正则表达式,请教高手,RT。

解决方案 »

  1.   

    合法E-mail地址: 
    1. 必须包含一个并且只有一个符号“@” 
    2. 第一个字符不得是“@”或者“.” 
    3. 不允许出现“@.”或者.@ 
    4. 结尾不得是字符“@”或者“.” 
    5. 允许“@”前的字符中出现“+” 
    6. 不允许“+”在最前面,或者“+@” 正则表达式如下: 
    ----------------------------------------------------------------------- 
    ^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$ 
    ----------------------------------------------------------------------- 字符描述: 
    ^ :匹配输入的开始位置。 
    \:将下一个字符标记为特殊字符或字面值。 
    * :匹配前一个字符零次或几次。 
    + :匹配前一个字符一次或多次。 
    (pattern) 与模式匹配并记住匹配。 
    x|y:匹配 x 或 y。 
    [a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。 
    \w :与任何单词字符匹配,包括下划线。 
    $ :匹配输入的结尾。 
      

  2.   

    Pattern p = Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+");
      

  3.   

    ^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$
      

  4.   

      reg=/^[\w\.\-]+@([\w\-]+\.)+[a-z]{2,4}$/ig
    试试看
      

  5.   

    只能验证格式不能验证是否有效String str="[email protected]";
    Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(str);
    System.out.println(matcher.matches());
      

  6.   

    \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
      

  7.   

    常用正则表达式大全:http://blog.csdn.net/byxdaz/archive/2009/08/21/4470684.aspx
      

  8.   

    /^(?:\w+\.?)*\w+@(?:\w+.?)*\w+$/
    项目中曾经用过这个
      

  9.   

    common-validate 中有写好的方法
      

  10.   

    <SCRIPT LANGUAGE=javascript RUNAT=Server>
    function isEmail(strEmail) {
    if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
    return true;
    else
    alert("oh");
    }
    </SCRIPT>
    <input type=text onblur=isEmail(this.value)>
    给你参考下
      

  11.   

    正则网上一搜一大把.. 其实自己对照API你也应该可以写出来,只是没别人写的这么精辟而已..! 慢慢来吧