2007年5月17日木曜日

Javaでクレジットカード番号検証

スズキです。

表記Javaのライブラリを作成し、"Google Code"にて公開しました。

プロジェクト名は"suz-s2-validator"です。
seasar2を用いた検証フレームワーク的な意味合いでつけていますが、
現状は、seasar2は使っていません。
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/

最初の検証クラスとして、クレジットカード番号を検証するものを
作成しました。

下記情報を参考にしています。
http://search.cpan.org/src/IVAN/Business-CreditCard-0.30/CreditCard.pm
http://svn.apache.org/viewvc/jakarta/commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/CreditCardValidator.java?view=markup
(http://del.icio.us/iretsuzuki/Creditcard)

対応しているカードタイプは、
VISA、MASTERCARD、AMEX、DISCOVER、DINERS、JCB
の5つです。
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/type/CreditcardType.java

使い方は、
CreditcardUtil.isValid("カード番号", カードタイプ<上記の列挙型>)
です。
検証の成功(true)/失敗(false)は戻り値(boolean)で示しています。
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/util/CreditcardUtil.java

テストコードはこちらです。
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/test/java/jp/co/iret/suz/s2/validator/util/CreditcardUtilTest.java

最後に注意点ですが、
CreditCard.pmのロジックで
$Countryにたいしてチェックがあるもの(US/CA/CHなど)は実装していません。
(当面、使う対象は日本なので)

--
blog: http://suz-lab.blogspot.com/

0 コメント: