銀行卡合法性校驗

2021-09-11 12:45:46 字數 666 閱讀 3963

luhn檢驗數字演算法(luhn check digit algorithm),也叫做模數10公式,是一種簡單的演算法,用於驗證銀行卡、信用卡號碼的有效性的演算法。對所有大型信用卡公司發行的信用卡都起作用,這些公司包括美國express、護照、萬事達卡、discover和用餐者俱樂部等。這種演算法最初是在20世紀60年代由一組數學家制定,現在luhn檢驗數字演算法屬於大眾,任何人都可以使用它。 演算法:將每個奇數加倍和使它變為單個的數字,如果必要的話通過減去9和在每個偶數上加上這些值。如果此卡要有效,那麼,結果必須是10的倍數。

使用如下**:

//剔除卡號裡的非法字元

-(nsstring *)getdigitsonly:(nsstring*)s

}return digitsonly;

}//檢查銀行卡是否合法

//luhn演算法

-(bool)isvalidcardnumber:(nsstring *)cardnumber

}else

sum += addend;

timestwo = !timestwo;

}int modulus = sum % 10;

return modulus == 0;

}複製**

微博: @danny_呂昌輝

部落格: superdanny

iOS 銀行卡號合法性判斷

輸入銀行卡號的時候,一般為了卡號的合法性會做乙個判斷,使用了luhn演算法 luhn演算法步驟 1 從卡號的末位開始,逆向將奇數字相加 2 從卡號的末位開始,逆向將偶數字先乘2,如果得到的數為兩位數則減9,再將得到的數求和 3 將奇數字的和與偶數字的和相加得到的數除以10,如果可以被10整除,則這個...

銀行卡的校驗

銀行卡號一般是16位或者19位。由如下三部分構成。1,前六位是 發行者標識 2,中間的位數是 個人賬號標識 從卡號第七位開始 一般由6 12位數字組成。最多可以使用12位數字。3,最後一位是 根據卡號前面的數字,採用luhn演算法計算出的最後一位校驗位 public static boolean c...

銀行卡校驗規則

銀行卡號碼,一般是13 19位,由 卡bin 發卡行自定位 校驗位 三部分構成,其中 1 前6位是卡bin,由國際標準化組織分配給從事跨行轉接交換的銀行卡組織 2 發卡機構自定義位由6 12位數字組成,由發卡機構賦予 3 卡號的後1位數字,根據校驗位以前的數字 包括bin 取值按luhn方程計算得出...