Функция проверки идентификационной карты
FunctionCheckCardid (e)
arrverifycode = split ("1,0, x, 9,8,7,6,5,4,3,2", ")
Wi = Split ("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,1", "),")
Iflen (e) <15orlen (e) = 16orlen (e) = 17orlen (e)> 18then
CHACKCARDID = "Идентификационный номер имеет 15 кодов или 18 цифр в общей сложности"
CHACKCARDID = false
Выходная функция
Эндиф
Димаи
Iflen (e) = 18then
Ai = mid (e, 1,17)
Elseiflen (e) = 15then
Ai = e
AI = слева (AI, 6) и "19" & Mid (AI, 7,9)
Эндиф
Ifnotisnumeric (AI), тогда
CHACKCARDID = "За исключением последней цифры, удостоверение личности должна быть номером!"
Выходная функция
Эндиф
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 (день рождения)> дата ()
CHACKCARDID = "Идентификационная карта введена неправильно!"
Выходная функция
Эндиф
Ifstrmonth> 12ostrday> 31then
CHACKCARDID = "Идентификационная карта введена неправильно!"
Выходная функция
Эндиф
Еще
CHACKCARDID = "Идентификационная карта введена неправильно!"
Выходная функция
Эндиф
DiMi, TotalMulaiwi
Fori = 0to16
Totalmulaiwi = totalmulaiwi+cint (mid (ai, i+1,1))*wi (i)
Следующий
Dimmodvalue
modvalue = totalmulaiwimod11
DimStrVerifyCode
strverifycode = arrverifycode (modvalue)
Ai = ai & strverifycode
CHACKCARDID = AI
Iflen (e) = 18ande <> aithen
CHACKCARDID = "НОМЕР IDEDITITY CARD введен неправильно!"
Выходная функция
Эндиф
Конечная функция
response.writecheckcardid ("528337194801020025") '' '' '' '' '' '' '' '' 'Я не знаю, чья это удостоверение лично
'' '' 'Это, если введена возвращаемой идентификационной карты, это означает, что это правильно, в противном случае будет вызвана ошибка ...