クレジットカード番号バリデーター

Luhnアルゴリズムでカード番号を検証し、ブランド(Visa、Mastercard、Amex、Discover、JCB、UnionPayなど)と桁数を判定します。入力内容は送信されません。

空白とハイフンは無視されます。

結果有効な番号(Luhn と桁数のルールに適合)
カードブランドVisa
Luhn チェックサム合格
桁数16 桁(許可: 13, 16, 19)
このブランドで許可された桁数はい
整形後4111 1111 1111 1111
セキュリティコードの桁数3
すべての計算はブラウザー内で行われ、番号はどこにも送信されません。「有効」は番号の形式が正しいことを示すだけで、カードの実在・有効性・残高を意味しません。開発には公式のテスト番号(例: 4111 1111 1111 1111)を使用してください。

クレジットカード番号バリデーターとは?

このバリデーターは、決済カード番号の形式が正しいかを確認します。Luhnチェックサムの検証、発行者の範囲(IIN/BIN)によるカードブランドの判別、そのブランドで許可されている桁数かの確認を行い、ブランド標準のグループ分けで番号を整形します。すべてブラウザ内で動作します。

クレジットカード番号バリデーターの使い方

  1. カード番号を入力または貼り付けます。スペースとハイフンは無視されます。
  2. 結果(総合判定、カードブランド、Luhnチェックサム、桁数と許可されているか)を確認します。
  3. テストデータとして必要に応じて、整形後の番号とセキュリティコードの桁数を利用します。

例

入力
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の主な範囲です。一部の提携カードは他のブランドでも動作しますが、それは発行者のデータでしか分かりません。

他のカテゴリを見る