7/03/2555

โปรแกรมตรวจสอบเลขที่ประจำตัวประชาชน


<script type="text/javascript">
var citizen_id="1100200215075";//เลขที่ประจำตัวประชาชน
var id_array=new Array();//สร้าง array สำหรับเก็บข้อมูล 12 หลักแรกของแรกที่ประจำตัวประชาชน
var i=0;
for(i=0;i<(citizen_id.length-1);i++)
{
id_array[i]=citizen_id[i];//นำหลักที่ i ของเลขที่ประจำตัวประชาชนใส่ในตัวแปร array id_array
}
for(i=0;i<id_array.length;i++)
{
id_array[i]=id_array[i]*(13-i);//นำแลขที่ประชาชนแต่ละหลัก คูณด้วย เลขหลัก เช่น หลักที่ 13 ก็คูณด้วย 13 หลักที่ 12 ก็คูณด้วย 12
}
var sum_citizen=0;//ตัวแปรเก็บรวมของการคูณแต่ละหลัก
//นำผลคูณแต่ละหลักมารวมกัน
for(i=0;i<id_array.length;i++)
{
sum_citizen+=id_array[i];
}
//เอาผลรวม หารเอาเศษด้วย 11
var mod_result=0;
mod_result=sum_citizen%11;
//เอา 11 ตั้ง ลบด้วย ผลของ การหารเอาเศษ
var ans=11-mod_result;
//ถ้าเกิด ลบแล้วได้ออกมาเป็นเลข 2 หลัก ให้เอาเลขในหลักหน่วยมา
if(ans>10)
{
ans=ans%10;
}
//ผลลัพธ์ที่ได้ ans ต้องเท่ากับหลักขวามือสุด ถ้าไม่เท่าแสดงว่าผิด
if(ans!=citizen_id[12])
{
alert("เลขที่ประจำตัวประชาชนไม่ถูกต้อง");


}
</script>