求比我这个要好的email验证脚本

bbpfish bbpfish 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
email的javascript的验证脚本原代码如下:

function isEmail(EMAILSTR)
{
if(EMAILSTR == ""||EMAILSTR.length>30) return false;//邮件地址长度检测
if(!(EMAILSTR.indexOf("@")>1 && EMAILSTR.indexOf(".")>3) && EMAILSTR.indexOf("-")>0) return false; //"@",".","-",字符位置检测
var strarray=new Array("@@" , "@." ,".@", "-@" ,"@-" ,"-." ,".-" ,"..");
for(i=0;i<strarray.length;i++)
if(EMAILSTR.indexOf(strarray[i])>=0) return false; //非法字符检测
var checkstr=EMAILSTR.substring(EMAILSTR.indexOf("@") + 1)
if(checkstr.indexOf("@")>=0) return false;//@字符唯一性检测

//邮件地址只能使用字母,数字和减号
var str = EMAILSTR.substring(0,EMAILSTR.indexOf(".")-1)
checkstr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@";
var allvalid = true;
for (i=0;i<str.length;i++)
{
ch=str.charAt(i);
for(j=0;j<checkstr.length;j++)
{
if(ch==checkstr.charAt(j))
break;
}
if(j==checkstr.length)
{
allvalid = false;
break;
}
}
if(!allvalid) return false;
var checkdns=EMAILSTR.substring(EMAILSTR.indexOf("."))
var dnstr=new Array(".com" , ".org" ,".gov" , ".net",".mil",".cn",
".com.cn",".net.cn",".org.cn",".gov.cn");
for(i=0;i<dnstr.length;i++)
{
if(checkdns==dnstr[i])
{
allvalid = true;
break
}
}
if(i==dnstr.length) allvalid = false;
return allvalid; //域名合法性检测
}
以上是本人自编的比较完善的email地址验证程序,由于不懂正则表达式,采用的程序比较繁杂,也可能有一些不完善和BUG,现希望有人能将其完善或提供一个比较完善的采用正则表达式的验证程序.
也希望有人能指教一下有关正则表达式怎么表示或那里有这类的文章或电子教程下载.

比比鱼 敬上
编于2004年10月29日
...全文
评论 15
收藏 已收藏
分享
返回顶部
bbpfish
JavaScript 87,983 成员 224,681 内容