2014年4月17日 星期四

正確的的郵局局號 / 帳號檢查方式

網路上有些流傳的郵局局號/帳號檢查方式是錯的...... 

網路上流傳的是:
不論局號/帳號
N1 N2 N3 N4 N5 N6 :流水號。 N7:檢碼。 
運算規則: (N1×2 + N2×3 + N3×4 + N4×5 + N5×6 + N6×7) ÷ 11餘A. 
若A為10, 則N7=0; 若否, N7=A.
但我拿我及幾個手上有的郵局局號帳號做驗證發現根本就不對……

假設我的郵局局號 及 帳號 共 14 碼 為

ABCDEFG HIJKLMN


前 7 碼為郵局局號,其中 G 為檢查碼;
後 7 碼為郵局帳號,其中 N 為檢查碼。

檢查公式應該是

( 2*A + 3*B + 4*C + 5*D + 6*E + 7*F + G ) mod 11 = 0 
( 2*H + 3*I + 4*J + 5*K + 6*L + 7*M + N ) mod 10 = 0

拿個局號驗證
竹北郵局(新竹三十三支)(舊局號)006133-9(新局號)087000-3

( 2*0 + 3*0 + 4*6 + 5*1 + 6*3 + 7*3 + G ) mod 11 = 0
( 68 + G ) 要可以被 11 整除 => G = 9

( 2*0 + 3*8 + 4*7 + 5*0 + 6*0 + 7*0 + G ) mod 11 = 0
( 52 + G ) 要可以被 11 整除 => G = 3

帳號部份也拿幾個驗證

我的: 013384-4
( 2*0 + 3*1 + 4*3 + 5*3 + 6*8 + 7*4 + N ) mod 10 = 0
( 106 + N ) 要可以被 11 整除 => N = 4

家人剛好跟我是一起辦的: 013383-1
( 2*0 + 3*1 + 4*3 + 5*3 + 6*8 + 7*3 + N ) mod 10 = 0
( 99 + N ) 要可以被 11 整除 => N = 1

為什麼錯誤的版本一直在流傳?

4 則留言:

  1. 版主您好,
    我用您提供的驗證邏輯算出來有問題哩
    範例: 合法帳號 0228319
    (2*0+3*2+4*2+5*8+6*3+7*1+9 + N) mod 10 =0
    ( 79+ N ) 要可以被 10 整除 => N = 1
    但 1 <> 9
    是不是我哪裡弄錯了?

    回覆刪除
    回覆
    1. 感謝提醒,應該是要被11整除,後面筆誤已修正。

      刪除
  2. 回覆
    1. Hi,可以使用這一頁尋找
      https://www.post.gov.tw/post/internet/I_location/index_all.html
      幫您查到是八里龍形郵局

      刪除