在一个js里面 通过var temp = document.getElementById("Email").value
Email 是通过用户输入:如 12345@163.com;67899@qq.com;cool@gmail.com
然后同个split(";"),分出邮箱,然后分别验证,如果有一个出错,就提示哪个邮箱出错,如果两个就提示哪两个邮箱出错
<input type="text" name="Email" id="Email" /><input name="" type="button" value="提交" οnclick="javascript:foreach()" />
<script>
function foreach()
{
var temp = document.getElementById("Email").value;
var str="";
if(temp!="" && temp.indexOf(";")>0)
{
var arremail=temp.split(";");
for(var i=0;i <arremail.length;i++)
{
if(arremail[i].replace(/\s+/g,"").search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)==-1)
{
str=str+"邮箱"+arremail[i]+"格式错误!\n";
}
}
}
else
{
if(temp.replace(/\s+/g,"").search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)==-1)
{
str="邮箱"+temp+"格式错误!\n";
}
}
if(str!="")
{
alert(str);
}
}
</script>
解释:
1. /^$/ 这个是个通用的格式。
^ 匹配输入字符串的开始位置;$匹配输入字符串的结束位置
2. 里面输入需要实现的功能。
* 匹配前面的子表达式零次或多次;
+ 匹配前面的子表达式一次或多次;
?匹配前面的子表达式零次或一次;
\d 匹配一个数字字符,等价于[0-9]
参考资料 :
http://zhidao.baidu.com/question/274384486.html
http://www.cnblogs.com/morningwang/archive/2007/07/27/833810.html
http://hi.baidu.com/qihuitoday/blog/item/d5978c382c109223b8998fac.html
JS验证(电话、邮箱。。。)http://blog.csdn.net/zhxp_zfl_wl/article/details/6521040