ฟังก์ชั่น CheckCardId(e)
arrVerifyCode = แยก(1,0,x,9,8,7,6,5,4,3,2, ,)
Wi = แยก(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2, ,)
ตัวตรวจสอบ = แยก (1,9,8,7,6,5,4,3,2,1,1, ,)
ถ้า Len(e) < 15 หรือ Len(e) = 16 หรือ Len(e) = 17 หรือ Len(e) > 18 แล้ว
CheckCardId= หมายเลขประจำตัวประชาชนมี 15 หลัก หรือ 18 หลัก
CheckCardId = เท็จ
ออกจากฟังก์ชัน
สิ้นสุดถ้า
ดิม เอ
ถ้า Len(e) = 18 แล้ว
Ai = กลาง(จ, 1, 17)
อย่างอื่นถ้า Len(e) = 15 แล้ว
ไอ=อี
Ai = ซ้าย(Ai, 6) & 19 & กลาง(Ai, 7, 9)
สิ้นสุดถ้า
ถ้าไม่ใช่เป็นตัวเลข (Ai) แล้ว
CheckCardId= บัตรประจำตัวประชาชนต้องเป็นตัวเลข ยกเว้นหลักสุดท้าย!
ออกจากฟังก์ชัน
สิ้นสุดถ้า
Dim strYear, strMonth, strDay
strYear = CInt(กลาง(Ai, 7, 4))
strMonth = CInt(กลาง(Ai, 11, 2))
strDay = CInt(กลาง(Ai, 13, 2))
วันเกิด = ตัด(strYear) + - + ตัด(strMonth) + - + ตัด(strDay)
ถ้า IsDate (วันเกิด) แล้ว
ถ้า DateDiff(yyyy,Now,BirthDay) <-140 หรือ cdate(BirthDay)> date() จากนั้น
CheckCardId= ใส่บัตรประจำตัวไม่ถูกต้อง!
ออกจากฟังก์ชัน
สิ้นสุดถ้า
ถ้า strMonth > 12 หรือ strDay > 31 แล้ว
CheckCardId= ใส่บัตรประจำตัวไม่ถูกต้อง!
ออกจากฟังก์ชัน
สิ้นสุดถ้า
อื่น
CheckCardId= ใส่บัตรประจำตัวไม่ถูกต้อง!
ออกจากฟังก์ชัน
สิ้นสุดถ้า
ดิม ไอ,โททัลมุลไอวี
สำหรับฉัน = 0 ถึง 16
TotalmulAiWi = TotalmulAiWi + CInt(กลาง(Ai, i + 1, 1)) * Wi(i)
ต่อไป
Dim modValue
modValue = TotalmulAiWi Mod 11
หรี่ strVerifyCode
strVerifyCode = arrVerifyCode(modValue)
Ai = Ai & strVerifyCode
CheckCardId = Ai
ถ้า Len(e) = 18 และ e <> Ai แล้ว
CheckCardId= ป้อนหมายเลข ID ไม่ถูกต้อง!
ออกจากฟังก์ชัน
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
การตอบกลับเขียน CheckCardId (528337194801020025) ' ' ' ' ' ' '