دالة رمز التحقق من بطاقة الهوية
وظيفة ConceckCardid (هـ)
ArverifyCode = split ("1،0 ، x ، 9،8،7،6،5،4،3،2" ، ")
Wi = split ("7،9،10،5،8،4،2،6،3،3،7،10،5،8،2" ، ")
Checker = split ("1،9،8،7،6،5،4،3،2،1،1" ، ") ،")
iflen (e) <15orlen (e) = 16orlen (e) = 17orlen (e)> 18then
CheckCardId = "رقم المعرف يحتوي على 15 رمزًا أو 18 رقمًا في المجموع"
checkcardid = false
exitfunction
Endif
ديماي
iflen (e) = 18then
AI = MID (E ، 1،17)
elseiflen (e) = 15th
الذكاء الاصطناعي = هـ
Ai = Left (AI ، 6) و "19" & Mid (AI ، 7،9)
Endif
ifnotisnumeric (AI) ثم
CheckCardId = "باستثناء الرقم الأخير ، يجب أن تكون بطاقة الهوية رقمًا!"
exitfunction
Endif
DimStryear ، 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)
Ifisdate (عيد ميلاد) ثم
ifdatediff ("yyyy" ، الآن ، عيد ميلاد) <-140orcdate (عيد ميلاد)> Date () ثم
CheckCardId = "تم إدخال بطاقة الهوية بشكل غير صحيح!"
exitfunction
Endif
Ifstrmonth> 12orStrday> 31then
CheckCardId = "تم إدخال بطاقة الهوية بشكل غير صحيح!"
exitfunction
Endif
آخر
CheckCardId = "تم إدخال بطاقة الهوية بشكل غير صحيح!"
exitfunction
Endif
ديمي ، TotalMulaiwi
fori = 0to16
TotalMulaiwi = TotalMulaiwi+Cint (Mid (AI ، I+1،1))*Wi (i)
التالي
dimmodvalue
modvalue = TotalMulaiwimod11
DimStverifyCode
StverifyCode = reververifycode (modvalue)
AI = AI و StverifyCode
checkcardid = AI
iflen (e) = 18ande <> aithen
CheckCardId = "تم إدخال رقم بطاقة الهوية بشكل غير صحيح!"
exitfunction
Endif
الوظيفية
Response.WriteCheckCardId ("528337194801020025") "'' '' '' '' '' '' لا أعرف بطاقة الهوية هذه ، لقد جربتها ~~~~~~~~~~~~ هاها
'' '' إذا تم إدخال بطاقة الهوية التي تم إرجاعها ، فهذا يعني أنها صحيحة ، وإلا سيتم مطالبة خطأ ...