PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

回應
 
主題工具
anos
Regular Member
 
anos的大頭照
 

加入日期: Jan 2005
文章: 82
網頁 Javascript 驗證身分證字號欄位問題

最近小弟寫網頁遇到兩個問題寫不出來 !
想煩請高人指點一下 !
就是身分證字號的欄位應為10 個字,第一個字為英文字母,第二個字為1 或2
剩這功能小弟時在研究好久...

下面是那張網頁的原始內容 ! 請大大們幫小弟解答嚕...

代碼:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<SCRIPT LANGUAGE="JavaScript"> 
<!--
function submitData()
{
  	var index=0;
	var text1="";
	//驗證姓名欄
    text2=document.myForm.username.value;
	if( text2.length <= 1 )  //姓名至少需2個字
	{
        alert('您尚未輸入姓名!姓名至少需2個字');
        document.myForm.username.focus();
        return false;
    }
   //驗證電子郵件信箱位址
    text1 = document.myForm.eMail.value;
    index = text1.indexOf('@');
    if (index == -1)
	{
		alert('您尚未輸入電子郵件信箱位址或信箱位址不正確!');
		document.myForm.eMail.focus;
        return false;
    }
	//驗證身份證號碼
	if( document.myForm.id.value == "" )
	{
        alert('身分證號碼欄不能為空白!');
        document.myForm.id.focus();
        return false;
    }
    return true;
} 
-->
</SCRIPT>
<title>習題11-javaScript表單驗證</title>
</head>

<body>
<h1 style='text-align:center; font-family: "標楷體", "Times New Roman"; color:#FF0000 '>
會員資料登錄</h1>
<hr>
<p style='text-align:left; color:#0000FF'><pre>

<form name="myForm" action="mailto:[email protected]?subject=exercise11" onSubmit="return submitData()" method="post" enctype="text/plain" >
<ul type=circle>
<li>會員姓名  : <input type="text" size="20" name="username">
<li>Email    :<input type="text" size="26" name="eMail">
<li>身分證號碼:<input type="text" size="20" name="id">
<li><input type="submit" name="submit1" value="確  定">
</form></ul></pre></p><hr></body></html>
     
      
舊 2006-12-20, 12:06 AM #1
回應時引用此文章
anos離線中  
kec
Major Member
 
kec的大頭照
 

加入日期: Feb 2004
您的住址: Terran Empire
文章: 283
用Regular Expression來驗證會比較方便。
 
舊 2006-12-20, 06:01 AM #2
回應時引用此文章
kec離線中  
crazyjack
Basic Member
 
crazyjack的大頭照
 

加入日期: Aug 2003
您的住址: 洛杉磯
文章: 19
長度用length...取第幾個字元用charAt.....google一下就有嚕!
舊 2006-12-20, 08:58 AM #3
回應時引用此文章
crazyjack離線中  
AdaHsu
Major Member
 
AdaHsu的大頭照
 

加入日期: Nov 2001
文章: 298
其實,連 email 檢驗也可以從 google 中找到一大票!雖然仍然不能確保是否存在該 email ,但可以保證 email 的格式是正確的。
舊 2006-12-20, 10:44 AM #4
回應時引用此文章
AdaHsu離線中  
Chief_WU
Senior Member
 
Chief_WU的大頭照
 

加入日期: Jul 2001
您的住址: 台北市
文章: 1,401

代碼:
function CheckID(){
    ID=document.forms['表格名稱'].欄位.value.toLowerCase();
    pattern=/^[a-z][12][0-9]{8}$/ ;

    if(pattern.test(ID)){
        h="abcdefghjklmnpqrstuvxywzio" ;
        x=10+h.indexOf(ID.substring(0,1));
        chksum=(x-(x%10))/10+(x%10)*9;
        
        for(i=1;i<9;i++){
            chksum+=ID.substring(i,i+1)*(9-i);
        } 
    
        chksum=(10-chksum%10)%10 ;
    
        if(chksum==ID.substring(9,10)){
            return true;
        }
    }
    return false;
} 


此文章於 2006-12-20 11:38 AM 被 Chief_WU 編輯.
舊 2006-12-20, 11:34 AM #5
回應時引用此文章
Chief_WU離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是01:34 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。