JS เพื่อการตรวจสอบหมายเลขประจำตัวที่เข้มงวดยิ่งขึ้น
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-06-20 16:17:52
<html>
<หัว>
<title>ตรวจสอบว่าหมายเลข ID ถูกต้องหรือไม่</title>
</หัว>
<ร่างกาย>
กรุณากรอกหมายเลข ID ของคุณ:<input type="text" size="20" id="asidinput" /><input type="button" value="Verify" onclick="alert(cidInfo(asidinput.value))" />
<สคริปต์>
var aCity={11:"ปักกิ่ง",12:"เทียนจิน",13:"เหอเป่ย",14:"ซานซี",15:"มองโกเลียใน",21:"เหลียวหนิง",22:"จี๋หลิน",23:" เฮยหลงเจียง ",31:"เซี่ยงไฮ้",32:"เจียงซู",33:"เจ้อเจียง",34:"อานฮุย",35:"ฝูเจี้ยน",36:"เจียงซี",37:"ซานตง",41:"เหอหนาน" , 42:"หูเป่ย์",43:"หูหนาน",44:"กวางตุ้ง",45:"กวางสี",46:"ไหหลำ",50:"ฉงชิ่ง",51:"เสฉวน",52:"กุ้ยโจว",53 : "ยูนนาน",54:"ทิเบต",61:"ส่านซี",62:"กานซู",63:"ชิงไห่",64:"หนิงเซี่ย",65:"ซินเจียง",71:"ไต้หวัน",81:" ฮ่องกง ",82:"มาเก๊า",91:"ต่างประเทศ"}
ฟังก์ชั่น cidInfo (sId) {
var iSum=0
ข้อมูล var = ""
if(!/^d{17}(d|x)$/i.test(sId))คืนค่าเท็จ;
sId=sId.replace(/x$/i,"a");
if(aCity[parseInt(sId.substr(0,2))]==null) return "ข้อผิดพลาด: พื้นที่ผิดกฎหมาย";
sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"))
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))ส่งคืน "ข้อผิดพลาด: วันเกิดไม่ถูกต้อง";
สำหรับ(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
if(iSum%11!=1)ส่งคืน "ข้อผิดพลาด: หมายเลขใบรับรองไม่ถูกต้อง";
return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2"ชาย": "หญิง")
-
</สคริปต์>
</ร่างกาย>
</html>