精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● ASP>>ASP教程>>正则表达式专辑>>一个使用正则表达式检查email地址的js函数

主题:一个使用正则表达式检查email地址的js函数
发信人: yahao(亚豪)
整理人: qcrsoft(2002-05-13 16:34:13), 站内信件
<SCRIPT LANGUAGE="JavaScript">
<!--
/*
###############################################################################
函数:检查email地址
说明:根据COBE的函数改编而来,合法返回真,否则返回假
作者:Yahao
###############################################################################
*/
function isEmail(strMail)
{
/* 如果长度为0则返回假 */
if(strMail.length==0) return false

/* 验证邮件地址的格式是否合法,如: [email protected]/net等 */
var objReg = new RegExp("[a-z0-9-_]+@[a-z0-9-_]+[\.]{1}(com|net|bta|cn|org|edu|mil)","gi")
var IsRightFmt = objReg.test(strMail)

/* 验证邮件地址中是否含有非法字符,结果等于-1表示不含有 */
var objRegErrChar = new RegExp("[^a-z0-9-._@]","ig")
var IsRightChar = (strMail.search(objRegErrChar)==-1)

/* 邮件地址最大长度为60字符 */
var IsRightLength = strMail.length <= 60

/* 判断字符'@'和'.'的位置,不能为第一个或者最后一个 */
var IsRightPos = (strMail.indexOf("@",0) != 0 && strMail.indexOf(".",0) != 0 && strMail.lastIndexOf("@")+1 != strMail.length && strMail.lastIndexOf(".")+1 != strMail.length)

/* 判断字符'@'是否唯一 */
var IsNoDupChar = (strMail.indexOf("@",0) == strMail.lastIndexOf("@"))

/* 将'格式'、'字符'、'长度'、'@唯一'四者做“与”操作,任一条件不满足都将返回假 */
return (IsRightFmt && IsRightChar && IsRightLength && IsRightPos && IsNoDupChar)
}

//TEST IT
var sMail = "[email protected]"
var r = isEmail(sMail)
if(r)
alert(sMail + " is a valid mail address.")
else
alert(sMail + " is a invalid mail address.")

//-->
</SCRIPT>



----
█████████
█┌─────┐█
█│ 广州社区 │█
█│  ASP 版  │█
█│  版★副  │█
█│  专用章  │█
█└─────┘█
█████████

   欢迎光临ASP版

[关闭][返回]