CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

这个js代码怎么判断出形如hi_rs@online.sh.cn的邮箱为不合法呢?

楼主for123()2004-08-02 21:27:21 在 Web 开发 / ASP 提问

这个js代码怎么判断出形如hi_rs@online.sh.cn的邮箱为不合法呢?  
   
   
  function   IsMail(   ChkStr     )    
  {  
      if   (Trim(ChkStr).length   ==   0)     return   false;  
      if   (ChkStr.length     <   5)   return     false;  
      if   (ChkStr.indexOf("   ")   >     2)   return   false;  
      var   i     =   1;  
      var   sLength   =     ChkStr.length;  
      while     ((i     <   ChkStr.length)   &&     (ChkStr.charAt(i)   !=   "@"))  
      {     i++  
      }  
      if   ((i   >=     ChkStr.length)   ||   (ChkStr.charAt(i)     !=   "@"))   return     false;  
      else   i   +=     2;  
      while     ((i     <   ChkStr.length)   &&     (ChkStr.charAt(i)   !=   "."))  
      {     i++  
      }  
      if   ((i   >=     ChkStr.length   -     1)   ||   (ChkStr.charAt(i)     !=   "."))   return     false;  
      else   return   true;  
  }  
   
  事实上hi_rs@online.sh.cn这样的邮箱也合法的。  
  而上述js代码却监测出不合法,代码哪里有问题?  
  或者请给个js代码给一个  
  function   IsMail(   ChkStr     )   函数  
  来判断邮箱合法的功能。  
  谢谢! 问题点数:100、回复次数:5Top

1 楼mjpclab(有只大猫猫 mjpclab.net)回复于 2004-08-02 23:35:18 得分 0

function   IsMail(ChkStr)  
  {  
  var   re=/\w+@\w+\.\w+/  
  if   (re.test(ChkStr)==false)  
  {  
  alert('邮件格式非法!');  
  return   false;  
  }  
  else  
  {  
  return   true;  
  }  
   
  }Top

2 楼mjpclab(有只大猫猫 mjpclab.net)回复于 2004-08-02 23:35:35 得分 0

用正则表达式简单多了Top

3 楼blueice2002(蓝冰)回复于 2004-08-03 08:51:58 得分 100

<!--      
  function   isEmail(x)    
  {    
      var   email=x;  
    //   valid   format   "a@b.cd"    
    invalidChars   =   "   /;,:{}[]|*%$#!()`<>?";    
  if   (email   ==   "")    
          {    
      return   false;    
          }    
  for   (i=0;   i<   invalidChars.length;   i++)    
          {    
      badChar   =   invalidChars.charAt(i)    
      if   (email.indexOf(badChar,0)   >   -1)    
                    {    
        return   false;    
                    }    
          }    
  atPos   =   email.indexOf("@",1)    
    //   there   must   be   one   "@"   symbol    
  if   (atPos   ==   -1)    
          {    
      return   false;    
          }    
  if   (email.indexOf("@",   atPos+1)   !=   -1)    
    {    
    //   and   only   one   "@"   symbol    
      return   false;    
    }    
    periodPos   =   email.indexOf(".",atPos)    
  if(periodPos   ==   -1)    
            {    
    //   and   at   least   one   "."   after   the   "@"    
      return   false;    
            }    
  if   (   atPos   +2   >   periodPos)    
    //   and   at   least   one   character   between   "@"   and   "."    
    {    
      return   false;    
    }    
    if   (   periodPos   +3   >   email.length)    
    {    
      return   false;    
    }    
    return   true;    
  }Top

4 楼aspczlover(你的骄傲...)回复于 2004-08-03 09:20:38 得分 0

用正则:  
  Function   ValidateEmailAddr(strEmailAddr)  
  Dim   re  
  Set   re   =   new   RegExp  
  re.pattern   =   "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"  
  ValidateEmailAddr=re.Test(strEmailAddr)  
  end   function  
   
   
  response.write   ValidateEmailAddr("hi_rs@online.sh.cn")&"<br>"     '不合法返回falseTop

5 楼aspczlover(你的骄傲...)回复于 2004-08-03 09:23:25 得分 0

----》  
  Function   ismail(strEmailAddr)  
  Dim   re  
  Set   re   =   new   RegExp  
  re.pattern   =   "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$"  
  ismail=re.Test(strEmailAddr)  
  end   function  
   
   
  response.write   ismail("hi_rs@online.sh.cn")&"<br>"       '返回false  
  Top

相关问题

  • JS
  • [求助]读取数据后不能用JS输出RS吗?
  • 我是用<script language="javascript" type="text/javascript" src="/Js/zh-CN/default/calendar.js"></script>包括进来的,里面的关键字
  • look at js>>????!!!! help me
  • js:select!=vb:select???
  • VBS转JS
  • 【瓜】关于js
  • js的问题
  • js问题
  • JS的问题

关键词

  • 代码
  • 邮箱
  • js
  • chkstr
  • w+
  • atpos
  • periodpos
  • stremailaddr
  • ismail
  • 合法

得分解答快速导航

  • 帖主:for123
  • blueice2002

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo