Función del código de verificación de la tarjeta de identificación
FunctionCheckCardid (e)
ArrverifyCode = Split ("1,0, x, 9,8,7,6,5,4,3,2", ")
Wi = dividido ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2", ")
Checker = Split ("1,9,8,7,6,5,4,3,2,1,1", "),")
Iflen (e) <15orlen (e) = 16orlen (e) = 17orlen (e)> 18then
CheckCardID = "El número de identificación tiene 15 códigos o 18 dígitos en total"
CheckcardID = falso
Extinción
Endif
Dimai
Iflen (e) = 18Then
Ai = Mid (E, 1,17)
Elseiflen (e) = 15Then
Ai = e
Ai = izquierda (ai, 6) y "19" y mediano (ai, 7,9)
Endif
Ifnotisnumérico (ai) entonces
CheckCardId = "Excepto el último dígito, ¡la tarjeta de identificación debe ser un número!"
Extinción
Endif
Dimstryear, Strmonth, Día
stryear = Cint (Mid (AI, 7,4))
strmonth = cint (Mid (ai, 11,2))
Día = Cint (Mid (AI, 13,2))
Cumpleaños = trim (stryear)+"-"+trim (strmonth)+"-"+trim (stray)
Ifisdate (cumpleaños) entonces
Ifdatediff ("aaa", ahora, cumpleaños) <-140orcdate (cumpleaños)> date () entonces
CheckCardId = "¡Tarjeta de identidad ingresada incorrectamente!"
Extinción
Endif
Ifstrmonth> 12orstray> 31then
CheckCardId = "¡Tarjeta de identidad ingresada incorrectamente!"
Extinción
Endif
Demás
CheckCardId = "¡Tarjeta de identidad ingresada incorrectamente!"
Extinción
Endif
Dimi, Totalmulaiwi
Fori = 0to16
Totalmulaiwi = Totalmulaiwi+Cint (Mid (ai, i+1,1))*wi (i)
Próximo
Valle de dimmodos
modValue = totalmulaiwimod11
DimstrverifyCode
strverifyCode = arrverifyCode (modValue)
Ai = ai & strverifycode
Checkcardid = ai
Iflen (e) = 18ANDE <> Aithen
CheckCardId = "¡Número de tarjeta de identidad ingresado incorrectamente!"
Extinción
Endif
Función final
Respuesta.WriteCheckCardid ("528337194801020025") '' '' '' '' '' '' 'No sé de quién es la tarjeta de identificación, lo probé ~~~~~~~~~~~~~~~~~~
'' '' 'Esto si se ingresa la tarjeta de identificación devuelta, significa que es correcta, de lo contrario se solicitará un error ...