台灣最大程式設計社群網站
線上人數
1844
 
會員總數:246228
討論主題:189787
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> 驗證 E-Mail 格式的正確性(微風)
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
驗證 E-Mail 格式的正確性(微風)
價值 : 0 QP  點閱數:3591 回應數:0
樓主

站務人員 站長
門外漢
0 1580
542 9
發送站內信

捐贈 VP 給 站務人員
--------------------------------------------------------------
check email:

function ChkEmail(obj)
{
obj.value=obj.value.toLowerCase()
var chkNumber = obj.value;
var checkOK = "0123456789abcdefghijklmnopqrstuvwxyz@._- ";
var checkStr = obj.value;
var allValid = true;
var decPoints = 0;
var allNum = 0;
var mousce = 0;
var mouscel = 0;

if (chkNumber == "")
{
flag='T';
return (true);
}
else
{

for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
allNum += ch;
}

if (!allValid)
{
alert("請輸入數字型態或英文字母及'@','.'等");
obj.focus();
flag='F';
return (false);
}
allValid = false;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);

if (ch == "@")
{
mousce=mousce+1;
mouscel=i
//allNum = 1 + i
//break;
}

}
allNum=0;
if (mousce > 1)
{
alert("E-Mail欄位中不可有兩個以上 @ 符號,格式錯誤!");
obj.focus();
flag='F';
return (false);

}

if (mousce == 1){

allNum = 1 + mouscel;}

if (allNum == 0)
{
alert("E-Mail欄位中無 @ 符號,格式錯誤!");
obj.focus();
flag='F';
return (false);
}

if (allNum < 3)
{
alert("E-Mail欄位中 @ 符號左邊需有至少2位長度,格式錯誤");
obj.focus();
flag='F';
return (false);
}


if ((chkNumber.length - allNum) < 6 )
{
alert("E-Mail欄位@ 符號右邊需有至少6位長度,格式錯誤");
obj.focus();
flag='F';
return (false);
}

for (i = allNum ; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);

if (ch == ".")
{
allValid=true
break;
}
}

if (allValid==false)
{
alert("E-Mail欄位@ 符號右邊無 . 符號,格式錯誤");
obj.focus();
flag='F';
return (false);
}

for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);

if (ch == "@")
{
if (checkStr.charAt(i+1)=='.')
{
alert("E-Mail欄位錯誤'@.',無此格式");
obj.focus();
flag='F';
return (false);
}
if (checkStr.charAt(i+1)==' ' || checkStr.charAt(i+1)==' ' || checkStr.charAt(i-1)==' ' || checkStr.charAt(i+1)==' ')
{
alert("E-Mail欄位錯誤,'@'前後不可接空白!");
obj.focus();
flag='F';
return (false);
}
}

}

flag='T';
return (true);
}
}

本篇文章發表於2001-06-05 00:00
目前尚無任何回覆
   

回覆
如要回應,請先登入.