问题:有一个文本域,输入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 .. |
注册
个人空间
