-
1。//index.Html
<Html>
<head>
<title>email地址是否合法 index.Html</title>
<Script language = "JavaScript" src="mail.JS"></script>
<script language="Javascript">
<!--
function mail_PRocess(stringin)
{
var num=email_test(stringin);
var str="";
if (num!=0)
{
switch (num)
{
case 1:
str="首字符必須用字母!或不能為空!請返回重填。";
break;
case 2:
str="您忘了填寫郵件服務器的地址了!請返回重填。";
break;
case 3:
str="您的帳號太短,不能少於三個字符!請返回重填。";
break;
case 4:
str="您的帳號太長,不能多於十九個字符!請返回重填。";
break;
case 5:
str="您使用了非法字符!請返回重填。";
break;
case 6:
str="您的郵件服務器的地址不合法!請返回重填。";
break;
default:
str="您的email地址不合法!請返回重填。";
}
alert(str);
}
else
{
alert("謝謝您!");
eval(window.close());
}
}
//-->
</script>
</head>
<body>
<form method="POST" onsubmit="mail_process(email_add.value)">
<p>請輸入您的E-mail地址:
<input type="text" name="email_add" size="20" >
<input type="submit" value="確定" name="B1"></p>
</form>
</body>
</Html>
2.//mail.JS
function char_test(chr)
//字符檢測函數
{
var i;
var smallch="abcdefghijklmnopqrstuvwxyz";
var bigch="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(i=0;i<26;i++)
if(chr==smallch.charAt(i) || chr==bigch.charAt(i))
return(1);
return(0);
}
function spchar_test(chr)
//數字和特殊字符檢測函數
{
var i;
var spch="_-.0123456789";
for (i=0;i<13;i++)
if(chr==spch.charAt(i))
return(1);
return(0);
}
function email_test(str)
{
var i,flag=0;
var at_symbol=0;
//“@”檢測的位置
var dot_symbol=0;
//“.”檢測的位置
if(char_test(str.charAt(0))==0 )
return (1);
//首字符必須用字母
for (i=1;i<str.length;i++)
if(str.charAt(i)=='@')
{
at_symbol=i;
break;
}
//檢測“@”的位置
if(at_symbol==str.length-1 || at_symbol==0)
return(2);
//沒有郵件服務器域名
if(at_symbol<3)
return(3);
//帳號少於三個字符
if(at_symbol>19 )
return(4);
//帳號多於十九個字符
for(i=1;i<at_symbol;i++)
if(char_test(str.charAt(i))==0 && spchar_test(str.charAt(i))==0)
return (5);
for(i=at_symbol+1;i<str.length;i++)
if(char_test(str.charAt(i))==0 && spchar_test(str.charAt(i))==0)
return (5);
//不能用其它的特殊字符
for(i=at_symbol+1;i<str.length;i++)
if(str.charAt(i)=='.') dot_symbol=i;
for(i=at_symbol+1;i<str.length;i++)
if(dot_symbol==0 || dot_symbol==str.length-1)
//簡單的檢測有沒有“.”,以確定服務器名是否合法
return (6);
return (0);
//郵件名合法
}
總結的!