加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读