請選擇 進入手機版 | 繼續訪問電腦版
設為首頁收藏本站

Bluelovers.風

 找回密碼
 註冊

QQ登錄

只需一步,快速開始

查看: 711|回復: 2

身份證號碼檢驗實作 [複製鏈接]

Rank: 9Rank: 9Rank: 9

漂浮物發表於 2006-7-27 00:28:48 |顯示全部樓層
QRCode:
QR code

身份證號碼檢驗實作

身份證字號共有十個字元,其內容如下所示. 字母 1為男性
2為女性 數字 數字 數字 數字 數字 數字 數字 檢查碼
參數值+D1x8+D2x7+D3x6+D4x5+D5x4+D6x3+D7x2+D8x1+D9
將計算值除以10 ( SUM / 10 = 商....餘數).若整除就為正確
若有餘數,則 10 - 餘數 = D9 也是正確,否則就是錯誤的.
<SCRIPT LANGUAGE="JavaScript">
var acc=0
function IDcheck(form){
d1 = document.ID.d1.value;
d2 = document.ID.d2.value;
d3 = document.ID.d3.value;
d4 = document.ID.d4.value;
d5 = document.ID.d5.value;
d6 = document.ID.d6.value;
d7 = document.ID.d7.value;
d8 = document.ID.d8.value;
d9 = document.ID.d9.value;
if (acc == 0){ alert("請指定身份證字號的第一個英文字母"); }
else {
var checksum = acc+8*d1+7*d2+6*d3+5*d4+4*d5+3*d6+2*d7+1*d8+1*d9;
var check1 = parseInt(checksum/10);
var check2 = checksum/10;
var check3 = (check2-check1)*10;
if (checksum == check1*10) { alert("身份證字號完全正確"); }
else {
if (d9 == (10-check3)) { alert("身份證字號完全正確"); }
else { alert("身份證字號錯誤"); }
}
}
}
</SCRIPT>
套一句黃小琥說過的話:「你可以點歌,但是我可以選歌」
連到我的抓火狐推薦頁!

Rank: 9Rank: 9Rank: 9

漂浮物發表於 2006-7-27 00:35:34 |顯示全部樓層
<script language=javascript>
function isvalidchar(idobj) {
var idx=0;
var str1="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var str2="0123456789";
var code=0;

if(idobj.value.length != 10)return false;//身分證字號長度為10個字元

else if ((idobj.value.charAt(1)>'2')||(idobj.value.charAt(1)<'1'))return false;//第二個字元須為1或2

else if (str1.indexOf(idobj.value.charAt(idx++))==-1) {//第一個字元必須是英文字母
return false;
}
while (idx < idobj.value.length) {// 第二至九個字元必須是阿拉伯數字
if (str2.indexOf(idobj.value.charAt(idx++))==-1) {
return false;
}
}

//以下是身分證字號的檢驗公式
str1 = idobj.value.charAt(0);
if(str1=='A')code=10
else if (str1=='B')code=11
else if (str1=='C')code=12
else if (str1=='D')code=13
else if (str1=='E')code=14
else if (str1=='F')code=15
else if (str1=='G')code=16
else if (str1=='H')code=17
else if (str1=='J')code=18
else if (str1=='K')code=19
else if (str1=='L')code=20
else if (str1=='M')code=21
else if (str1=='N')code=22
else if (str1=='P')code=23
else if (str1=='Q')code=24
else if (str1=='R')code=25
else if (str1=='S')code=26
else if (str1=='T')code=27
else if (str1=='U')code=28
else if (str1=='V')code=29
else if (str1=='X')code=30
else if (str1=='Y')code=31
else if (str1=='W')code=32
else if (str1=='Z')code=33
else if (str1=='I')code=34
else if (str1=='O')code=35 ;
code = Math.floor(code/10) + (code%10)*9 +
parseInt(idobj.value.charAt(1))*8 +
parseInt(idobj.value.charAt(2))*7 +
parseInt(idobj.value.charAt(3))*6 +
parseInt(idobj.value.charAt(4))*5 +
parseInt(idobj.value.charAt(5))*4 +
parseInt(idobj.value.charAt(6))*3 +
parseInt(idobj.value.charAt(7))*2 +
parseInt(idobj.value.charAt(8)) +
parseInt(idobj.value.charAt(9)) ;
code = code % 10 ;
if (code != 0) return false;
return true;
}

function check_id (obj) {
obj.value = obj.value.toUpperCase(); //變更為大寫 英文字母
if (!isvalidchar(obj))
{
alert('哈哈!不要騙我喔,您的身分證字號不正確。');
document.forms[0].elements[0].focus();
}
}
</script>
<form method="post">
身分證字號:<input type="text" name="usr" size="10" maxlehgth="10" onBlur="check_id(this);"><font class=textr>(請輸入身分證字號)※務必正確</font>
--->
<input type="submit" value=登入></font></form>

使用道具 舉報

Rank: 9Rank: 9Rank: 9

漂浮物發表於 2006-9-24 01:34:41 |顯示全部樓層

身分證號產生器

<META HTTP-EQUIV='Content-Type' CONTENT='text/html;CHARSET=big5'>

	<html >
	<head>
	<title>身分證號產生範例網頁</title>
	<base href='http://dob.tnc.edu.tw/authorHD/3302/'>
	<script language='JavaScript'>
	function CloseClicked()
	{
	  window.returnValue = '';
	  window.close()
	}
	</script>

	</head>

	<body >
	網站版的身分證字號產生器
	<p>
	<center><script language="JavaScript">function GenerateID(){var num = new Array(10);var i, strID, nTotal;num[0] = formID.N1.value;num[1] = formID.N2.value;for (i = 2; i < 9; i++){num[i] = Math.floor(Math.random() * 10);}nTotal = Math.floor(num[0] / 10);num[0] %= 10;for (i = 0; i < 9; i++){nTotal = nTotal + num[i] * (9 - i);}num[9] = (10 - nTotal % 10) % 10;strID = formID.N1.options(formID.N1.selectedIndex).text;for (i = 1; i < 10; i++){strID = strID + num[i];}textID.innerText = strID;}</script><br><p>身分證字號:<input type="text" id="textID" size="20"><p></p><form method="POST" id="formID">  <p>居住地:<select name="N1" size="1"> <option selected value="10">A</option> <option value="11">B</option> <option value="12">C</option> <option value="13">D</option> <option value="14">E</option> <option value="15">F</option> <option value="16">G</option> <option value="17">H</option> <option value="34">I</option> <option value="18">J</option> <option value="19">K</option> <option value="20">L</option> <option value="21">M</option> <option value="22">N</option> <option value="35">O</option> <option value="23">P</option> <option value="24">Q</option> <option value="25">R</option> <option value="26">S</option> <option value="27">T</option> <option value="28">U</option> <option value="29">V</option> <option value="30">X</option> <option value="31">Y</option> <option value="32">Z</option> </select><p></p> <p>性別:<select name="N2" size="1"> <option selected value="1">帥哥哥</option> <option value="2">酷妹妹</option> </select><p></p> <p><input type="button" value="產生" name="B1" onclick="GenerateID();"><p></p></form> </center>

	<p align='center'><input type='button' value='關閉此視窗' onClick='CloseClicked()'></p>
	</body>
</html>

使用道具 舉報

RE: 身份證號碼檢驗實作 [修改]
您需要登錄後才可以回帖 登錄 | 註冊

關閉

站長推薦

秀出你的創意窩窩裝扮
你知道嗎 你可以用 CSS 裝扮您的窩窩風格

查看 »

Bluelovers.風


Archiver|手機版|Bluelovers.風

  

GMT+8, 2012-5-20 02:50:22 , Processed in 0.102476 second(s), 14 queries , 70 ios, 11.85 mbs.

Powered by Discuz! X2 (Build 20111221)

© 2001-2011 Comsenz Inc.

回頂部