<script language="JavaScript">
<!--
function emailcheck(email)

var yufan = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/ig; 
if(yufan.test(email))
{
return true;
}
return false; 
}
if (emailcheck("[email protected]"))
alert("ok");
//-->
</script>
你为宇凡大叔的,呵呵:)

解决方案 »

  1.   

    看一下这段代码有没有帮助,判断得比较详细。
    function IsValidEmail(email)dim names, name, i, c'Check for valid syntax in an email address.IsValidEmail = true
    names = Split(email, "@")
    if UBound(names) <> 1 then '如果大于两个@符号
       IsValidEmail = false
       exit function
    end if
    for each name in names '检验用户名是否正确
       if Len(name) <= 0 then '如果为空
         IsValidEmail = false
         exit function
       end if
       for i = 1 to Len(name)
         c = Lcase(Mid(name, i, 1))
         if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then '如果既不是字母也不是数字
           IsValidEmail = false
           exit function
         end if
       next
       if Left(name, 1) = "." or Right(name, 1) = "." then 
          IsValidEmail = false
          exit function
       end if
    next
    if InStr(names(1), ".") <= 0 then '如果后缀没有.
       IsValidEmail = false
       exit function
    end if
    i = Len(names(1)) - InStrRev(names(1), ".") '如果域名后缀不是2位或3位,如com;cn之类
    if i <> 2 and i <> 3 then
       IsValidEmail = false
       exit function
    end if
    if InStr(email, "..") > 0 then '如果有连续两个小数点
       IsValidEmail = false
    end ifend function
      

  2.   

    var tmpemail=email.email.value;
    if ( tmpemail.indexOf("@",1)==-1 || tmpemail.indexOf(".",1)==-1 || tmpemail.indexOf("@.",1)!==-1 ||tmpemail.indexOf(".@",1)!==-1 || tmpemail.indexOf("@",1)==1 || tmpemail.indexOf(".",1)==tmpemail.length || tmpemail.indexOf("@",1)>tmpemail.indexOf(".",1) )
    应该可以了吧。不过JS里不象VS可以binary和text两种类型的判断。