الوظيفة CheckCardId(e)
arrVerifyCode = سبليت(1,0,x,9,8,7,6,5,4,3,2, ,)
واي فاي = سبليت (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 = خطأ
وظيفة الخروج
نهاية إذا
ديم أ
إذا كان لين (ه) = 18 ثم
منظمة العفو الدولية = منتصف (ه، 1، 17)
ElseIf لين (ه) = 15 ثم
منظمة العفو الدولية = ه
منظمة العفو الدولية = اليسار (منظمة العفو الدولية، 6) و 19 و منتصف (منظمة العفو الدولية، 7، 9)
نهاية إذا
إذا لم يكن رقميًا (Ai) إذن
CheckCardId= يجب أن تكون بطاقة الهوية أرقامًا باستثناء الرقم الأخير!
وظيفة الخروج
نهاية إذا
خافت strYear، strMonth، strDay
strYear = CInt(Mid(Ai, 7, 4))
strMonth = CInt(Mid(Ai, 11, 2))
strDay = CInt(Mid(Ai, 13, 2))
يوم الميلاد = Trim(strYear) + - + Trim(strMonth) + - + Trim(strDay)
إذا كان IsDate(BirthDay) إذن
إذا كان DateDiff(yyyy,Now,BirthDay) <-140 أو cdate(BirthDay)> date() ثم
CheckCardId= إدخال بطاقة الهوية غير صحيح!
وظيفة الخروج
نهاية إذا
إذا strMonth > 12 أو strDay > 31، إذن
CheckCardId= إدخال بطاقة الهوية غير صحيح!
وظيفة الخروج
نهاية إذا
آخر
CheckCardId= إدخال بطاقة الهوية غير صحيح!
وظيفة الخروج
نهاية إذا
خافت أنا، TotalmulAiWi
لأني = 0 إلى 16
TotalmulAiWi = TotalmulAiWi + CInt(Mid(Ai, i + 1, 1)) * Wi(i)
التالي
خافت modValue
modValue = TotalmulAiWi Mod 11
رمز التحقق الخافت
strVerifyCode = arrVerifyCode(modValue)
Ai = Ai & strVerifyCode
CheckCardId = Ai
إذا لين(ه) = 18 وه <> عاي ثم
CheckCardId= تم إدخال رقم الهوية غير صحيح!
وظيفة الخروج
نهاية إذا
وظيفة النهاية
Response.write CheckCardId(528337194801020025) ' ' ' ' ' ' '