赞助连接

赞助连接

阅 读 文 章

JS通过正则表达式检测多个Email问题

[来源:网上转载 (CSDN转载) | 作者:网友(colinmok) | 时间:2008-09-13 | 浏览:人次 ]

大家好!请教个问题:  
  问题:有一个文本域,输入1至10个Eamil地址,各个Email之间用分号分割;  
  请通正则表达式检测每一个输入的Email格式是否正确.  
   
  下面是我的解决方法,但是执行第一个判断后,后面的就不执行了.请大家帮个忙..  
  function   chkSendEmail()  
  {  
  if(frmSendEmail.to.value==""){  
  alert("请输入1至10个Email!");  
  document.frmSendEmail.to.focus();  
  return   false;  
  }  
  //check   email   pattern  
   
  var   Email=frmSendEmail.to.value;  
  Email=Email.Trim();  
  Email=Email.replace(Email,"");  
  var   EmailArry=Email.split(";");  
  var   count=(EmailArry.length-1)/2;  
  //正则表达式检测  
  var   pattern=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.a-zA-Z0-9_-)+/;  
  //循环检测每个email  
  for(var   i=0;i<=count;i++)  
  {  
  flag=pattern.test(EmailArry[i]);  
      if(!flag){  
  alert("Email格式不对!");  
  return   false;  
      }  
  }  
   
  if(frmSendEmail.name.value==""){  
  alert("请输入你的签名!");  
  document.frmSendEmail.name.focus();  
  return   false;  
  }  
  return   true;  
  }  
   
  等待................................
<script   type="text/javascript">  
  var   ps   =   "[A-Za-z]\\w{3,}@\\w{2,}(\\.\\w{2,})+"  
  var   p   =   new   RegExp("^"   +   ps   +   "(;"   +   ps   +   ")*$")  
  var   s   =   "muxrwc@126.com";  
  alert(p.test(s));  
  </script>
<script   type="text/javascript">  
  var   ps   =   "[A-Za-z]\\w{3,}@\\w{2,}(\\.\\w{2,})+";  
  var   p   =   new   RegExp("^"   +   ps   +   "(;"   +   ps   +   ")*$");  
  var   s   =   "muxrwc@126.com";   //muxrwc@126.com;muxrwc@126.com...  
  var   boolean   =   p.test(s);  
  alert(boolean);  
  </script>
O_O你不会还要检测里面的箱子是否有重的吧?
要呀
嗯!你那个只能检测单个email的呀.  
  我是想批量检测,所以要用到split分割成数组,然后要循环遍历一次.  
 
/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/
感觉就是检查有重复的不是很困难的说。不过关于重复的检测应当在一开始就做,不然就得在检测完邮箱地址的正确 *** 之后马上检测是否重复,不过我不赞同这样做,感觉这样没有意义了。
<script   type="text/javascript">  
  function   checkEmail(s)   {  
  var   ps   =   "[A-Za-z]\\w{3,}@\\w{2,}(\\.\\w{2,})+";  
  var   p   =   new   RegExp("^"   +   ps   +   "(;"   +   ps   +   ")*$");  
  if   (p.test(s))   {  
  var   t   =   new   RegExp("("   +   ps   +   ");?",   "g");  
  var   temp   =   ";";  
  s   =   s.replace(t,   function   (a,   b)   {  
  if   (temp.indexOf(";"   +   b   +   ";")   ==   -1)   {  
  temp   +=   b   +   ";";  
  return   b   +   ";";  
  }   else return   "";  
  });  
  return   s.substring(0,   s.length   -   1);  
  }   else return   false;  
  }  
  var   s   =   "muxrwc@126.com;muxrwc@gmail.com;muxrwc@126.com;muxrwc@gmail.com;muxrwc@hotmail.com";  
  if   (s   =   checkEmail(s))   alert(s);  
  else   alert("箱子错误");  
  </script>  
  这个可以替换掉重复的箱子。
谢谢.我试试..
谢谢各位的意见!
大家继续发言呀..  
  muxrwc(王辰),li1229363()   ,fqcd555(Oo等待你oO)建议都不错..谢谢了  
   
 
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 问题 多个 检测 通过 var ps Email alert return if ..

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.