谁能给解释一下下面验证EMAIL地址合法性的正则表达式的意思/^\w+((-\w+)|(\.\w+))*\@{1}\w+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig

解决方案 »

  1.   

    /^\w+((-\w+)|(\.\w+))*\@{1}\w+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig非单词字符(1个或多个)。
    然后跟上横杠(-)或点号(.),再跟上一个或多个单词字符。这种情况出现0次或者0次以上(表达式中星号)。
    然后跟邮箱地址中的@,并只出现一次。
    然后再是一个或多个单词字符跟上一个点号。在跟上2到4个单词字符。
    随后加上0或1个点号加上2个单词字符。重复0或1次。
    不区分大小写,全局匹配。够详细吧,快给分。
      

  2.   

    {最少,最多}
    {1}是多余的。
    {0,1}就是“?”
    {1,}就是“+”因为可能会出现这种情况“[email protected]
      

  3.   

    正则么。。不用研究那么细\w 匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效。
    \W 任何非字字符匹配。与“[^A-Za-z0-9_]”等效
    ^ 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\r”之后的位置匹配
    “|”    类似于逻辑运算中的“或”运算,如:/sb|sbb|6/表示与目标对象中的"sb","sbb","6"中任何一个相匹配;
    {n} 匹配前导字符出现n次,n>=0;
    {n,} 匹配前导字符至少出现n次,n>=0;
    {n,m} 匹配前导字符至少出现n次,最多出现m次;m>n>=0;