2008-09-11 29 views
2

我正在編寫一些軟件來識別跟蹤號碼(與搜索它們時Google識別聯邦快遞或UPS號碼的方式相同)。大多數信使使用一個系統,如「加權平均mod系統」,可以用來識別一個號碼是否是一個有效的跟蹤號碼。有誰知道TNT託運代碼是否使用這樣的系統,如果有的話,它是什麼?我已經問過TNT的支持了,代表告訴我他們不......但我想重新檢查一下。TNT.com跟蹤號碼使用什麼(如果有的話)校驗和?

回答

2

OK,所以這是三個月了,你問,但我碰到這個偶然,因爲我正在寫一個類似的軟件。據我們所知,TNT使用S10追蹤號碼系統。這意味着他們的號碼將是AA ######### AA型。最後兩個字母對應ISO/IATA國家代碼。話雖如此,TNT使用我們認爲必須代表全球的WW。這不是一個完全的答案,至少它不是關於校驗和或算法,但它可能有用嗎?希望幫助

0

據我所知,沒有一個。抱歉。

我認爲你要驗證輸入的跟蹤號碼以確保輸入正確?

- 凱文飛兆半導體

0

我相信這是一個校驗位/校驗位,可能是MOD10的衍生物,但不知道它是什麼算法,通過TNT簡稱爲第9位。 會很高興知道嗎?

我只知道它12345678校驗位是5和22345678校驗位是8

+0

它實際上是MOD 11 VB.net我寫的如下: – user2902405 2013-10-22 08:02:19

0

它實際上是MOD 11 VB.net我寫如下:

Dim number As String = TextBox1.Text 
    Dim A As Integer 
    Dim B As Integer 
    Dim C As Integer 
    Dim check_digit As Integer 

    A = (CInt(Mid(number, 1, 1)) * 8) + (CInt(Mid(number, 2, 1)) * 6) + (CInt(Mid(number, 3, 1)) * 4) + (CInt(Mid(number, 4, 1)) * 2) + (CInt(Mid(number, 5, 1)) * 3) + (CInt(Mid(number, 6, 1)) * 5) + (CInt(Mid(number, 7, 1)) * 9) + (CInt(Mid(number, 8, 1)) * 7) 
    B = ((A \ 11) * 11) 
    C = A - B 

    If C = 0 Then 
     check_digit = 5 
    End If 

    If C = 1 Then 
     check_digit = 0 
    End If 

    If C <> 0 And C <> 1 Then 
     check_digit = 11 - C 
    End If 

    MsgBox(number & check_digit)