C# Script สำหรับตรวจสอบเลขบัตรประชาชนไทย ใน Unity3d

Unity3D 1 พ.ย. 2014

สำหรับตรวจสอบเลขบัตรประชาชนไทย ใน Unity3d นะ

private bool IsValidCheckPersonID(string pid) 
{

	char[] numberChars = pid.ToCharArray();

	int total = 0;
	int mul = 13;
	int mod = 0, mod2 = 0;
	int nsub = 0;
	int numberChars12 = 0;

	for(int i = 0; i < numberChars.Length-1; i++) {
		int num = 0;
		int.TryParse(numberChars[i].ToString(), out num);

		total = total + num * mul;
		mul = mul - 1;

		//Debug.Log(total + " - " + num + " - "+mul);
	}

	mod = total % 11;
	nsub = 11 - mod;
	mod2 = nsub % 10;

	//Debug.Log(mod);
	//Debug.Log(nsub);
	//Debug.Log(mod2);


	int.TryParse(numberChars[12].ToString(), out numberChars12);

	//Debug.Log(numberChars12);

	if(mod2 != numberChars12)
		return false;
	else
		return true;
}

ความหมายของแต่ละหลัก

หลักที่ 1 หมายถึง ประเภทบุคคลซึ่งมี 8 ประเภท คือ

-ประเภทที่ 1 ได้แก่ คนที่เกิดและมีสัญชาติ ไทย ได้แจ้งเกิดภายในกำหนดเวลา (ตั้งแต่1 มกราคม 2527)
-ประเภทที่ 2 ได้แก่ คนที่เกิดและมีสัญชาติไทย ได้แจ้งเกิดเกินกำหนดเวลา (ตั้งแต่ 1 มกราคม 2527)
-ประเภทที่ 3 ได้แก่ คนไทยและคนต่างด้าวที่มีใบสำคัญประจำตัวคนต่างด้าว และมีที่อยู่ในทะเบียนบ้าน ในสมัยเริ่มแรก (1 มกราคม – 31 พฤษภาคม 2527)
-ประเภทที่ 4 ได้แก่ คนไทยและคนต่างด้าวที่มีใบสำคัญคนต่างด้าวแต่แจ้งย้ายเข้า โดยยังไม่มีเลขประจำตัวประชาชน ในสมัยเริ่มแรก (1 มกราคม – 31 พฤษภาคม 2527)
-ประเภทที่ 5 ได้แก่ คนไทยที่ได้รับอนุมัติให้เพิ่มชื่อเข้าในทะเบียนบ้านในกรณีตกสำรวจหรือกรณีอื่น ๆ
-ประเภทที่ 6 ได้แก่ ผู้ที่เข้าเมืองโดยไม่ชอบด้วยกฏหมาย และผู้ที่เข้าเมืองโดยชอบด้วยกฏหมาย แต่จะอยู่ในลักษณะชั่วคราว
-ประเภทที่ 7 ได้แก่ บุตรของบุคคลประเภทที่ 6 ซึ่งเกิดในประเทศไทย
-ประเภทที่ 8 ได้แก่ คนต่างด้าวที่เข้าเมืองโดยถูกต้องตามกฏหมาย คือ ได้รับใบสำคัญประจำตัวคนต่างด้าว คนที่ได้รับการแปลง สัญชาติเป็นสัญชาติไทย และคนที่ได้รับการให้สัญชาติไทย

หลักที่ 2 ถึงหลักที่ 5 หมายถึง รหัสของสำนักทะเบียนที่ท่านมีชื่อในทะเบียนบ้านในขณะให้เลขสำหรับเด็กเกิดใหม่จะหมายถึงถิ่น ที่เกิด โดยหลักที่ 2 และ 3 หมายถึงจังหวัดหลักที่ 4 และ 5 หมายถึงอำเภอหรือเทศบาล

หลักที่ 6 ถึงหลักที่ 10 หมายถึงกลุ่มที่ของบุคคลแต่ละประเภทตามหลักแรก หรือหมายถึงเล่มที่ของสูติบัตรแล้วแต่กรณี

หลักที่ 11 และ 12 หมายถึง ลำดับที่ของบุคคลในแต่ละกลุ่มประเภทหรือหมายถึงใบที่ของสูติบัตรแต่ละเล่มแล้วแต่กรณี

หลักที่ 13 คือ ตัวเลขตรวจสอบความถูกต้องของเลข 12 หลักแรก

แท็ก

Onyx

Just a middle-aged programmer, Can do many things but not the most.