程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 驗證email地址是否合法完整實例

驗證email地址是否合法完整實例

編輯:ASP技巧

-
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); 
//郵件名合法
}
總結的!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved