Функция CheckCardId(e)
arrVerifyCode = Split(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 цифр.
ЧекКардИд = Ложь
Выход из функции
Конец, если
Дим А
Если Len(e) = 18 Тогда
Ай = Средний(е, 1, 17)
ИначеЕсли Len(e) = 15 Тогда
Ай=е
Ai = Левый (Ai, 6) и 19 и Средний (Ai, 7, 9)
Конец, если
Если не IsNumeric(Ai), то
CheckCardId= ID-карта должна содержать цифры, кроме последней цифры!
Выход из функции
Конец, если
Тусклый 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(День Рождения) Тогда
Если 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)
Следующий
Dim modValue
modValue = TotalmulAiWi Мод 11
Dim strVerifyCode
strVerifyCode = arrVerifyCode(modValue)
Ай = Ай и стрверикоде
CheckCardId = Ай
Если Len(e) = 18 И e <> Ai Тогда
CheckCardId= Введен неправильный идентификационный номер!
Выход из функции
Конец, если
Конечная функция
response.write CheckCardId(528337194801020025) ' ' ' ' ' ' ' '