Luhn算法
发布时间:2020-12-17 07:59:59 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 % ' send a letter to Creative Commons,559 Nathan Abbott Way,Stanford,California ' 94305,USA. ' Luhn (mod 10) algorithm function luhn(byVal i
|
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 <%
' 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
%>
以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
