クレジットカード番号バリデーター
Luhnアルゴリズムでカード番号を検証し、ブランド(Visa、Mastercard、Amex、Discover、JCB、UnionPayなど)と桁数を判定します。入力内容は送信されません。
空白とハイフンは無視されます。
| 結果 | 有効な番号(Luhn と桁数のルールに適合) |
|---|---|
| カードブランド | Visa |
| Luhn チェックサム | 合格 |
| 桁数 | 16 桁(許可: 13, 16, 19) |
| このブランドで許可された桁数 | はい |
| 整形後 | 4111 1111 1111 1111 |
| セキュリティコードの桁数 | 3 |
クレジットカード番号バリデーターとは?
このバリデーターは、決済カード番号の形式が正しいかを確認します。Luhnチェックサムの検証、発行者の範囲(IIN/BIN)によるカードブランドの判別、そのブランドで許可されている桁数かの確認を行い、ブランド標準のグループ分けで番号を整形します。すべてブラウザ内で動作します。
クレジットカード番号バリデーターの使い方
- カード番号を入力または貼り付けます。スペースとハイフンは無視されます。
- 結果(総合判定、カードブランド、Luhnチェックサム、桁数と許可されているか)を確認します。
- テストデータとして必要に応じて、整形後の番号とセキュリティコードの桁数を利用します。
例
378282246310005
American Express · Luhn passed · 15 digits (allowed: 15) · formatted 3782 822463 10005 · security code length 4
クレジットカード番号バリデーターを使うべき場面
チェックアウトフォームのテスト、それらしいテストデータの作成、番号を送信する前のタイプミスの発見に使います。有効という結果は、カードが実在する、有効である、残高があることを意味しません。それを確認できるのは、決済オーソリゼーションを通じた発行者だけです。信頼できないツールに、実際のカード番号を貼り付けないでください。
クレジットカード番号バリデーターの仕組み
Luhnアルゴリズムは、右から数えて1桁おきに数字を2倍にし、9を超えた結果から9を引き、合計が10で割り切れるかを確認します。ブランドは既知のIIN範囲から、より限定的なものから順に判定します。Amex 34/37、Diners 300–305/36/38/39、JCB 3528–3589、Mir 2200–2204、Mastercard 51–55と2221–2720、Discover 6011/644–649/65、UnionPay 62/81、Visa 4、Maestro 50/56–69です。グループ分けはブランドごとに異なります(Amexは4-6-5、その他は4-4-4-4)。
一般的な使用例
- 4111 1111 1111 1111 などの公式テスト番号が、フォームの検証を通ることを確認する。
- チェックアウトフォームで、入力に応じて正しいカードロゴを表示する。
- 決済API呼び出しの前に、入力ミスの桁を見つける。
- Luhnチェックサムの仕組みを教える、またはデモする。
セキュリティ注意事項
開発にはテスト用のカード番号を使ってください。このツールは入力内容を保存も送信もしませんが、加盟店のチェックアウト以外のサイトでは、実際のカード番号を入力しないようにしてください。
よくある質問
Luhnチェックを通れば、カードは実在するということですか。
いいえ。ランダムな番号の約10個に1個はLuhnを通ります。検出できるのは入力ミスだけです。
番号はサーバーに送信されますか。
いいえ。すべてのチェックはブラウザ内の純粋なJavaScriptで行われ、ネットワークリクエストはありません。
62で始まる16桁の番号がUnionPayと表示されるのはなぜですか。
62はUnionPayの主な範囲です。一部の提携カードは他のブランドでも動作しますが、それは発行者のデータでしか分かりません。