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方程計算得出...