清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
<% ' send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California ' 94305, USA. ' Luhn (mod 10) algorithm function luhn(byVal input) dim sum dim odd dim currentDigit dim regEx input = CStr(input) sum = 0 odd = CBool(len(input) mod 2) ' Remove any non-numeric characters. if not isNumeric(input) then set regEx = new RegExp regEx.Global = true regEx.Pattern = "\D" input = regEx.Replace(input, "") set regEx = nothing end if ' Calculate sum of digits. for i = 1 to len(input) currentDigit = cint(mid(input, i, 1)) if odd then sum = sum + currentDigit else if currentDigit * 2 > 9 then sum = sum + (currentDigit * 2 - 9) else sum = sum + (currentDigit * 2) end if end if odd = not odd next ' Check validity. if sum mod 10 = 0 then luhn = true else luhn = false end if end function ' Unit test - expected result is true if luhn("446667651") then response.write "true" else response.write "false" end if %>