書かれたものです決済画面などで入力されたクレジットカード番号が正しい物であるか検証するコードを書いてみます。npmでモジュールを探すとcard-validatorなどいくつか見つかるので、実際にはこれらを使うのが楽ちんですね。メンテナンスされていればカード番号の仕様が変わったときもアップデートされることが期待できますし。開始番号と桁数カード番号の冒頭数桁でカード会社を判定できるようになっています。「4」でカード番号が始まっていればVISAであることがわかります。カード会社毎に桁数は異なりますが13〜16桁の整数である部分は共通です。CVV(3桁)この情報は主にWikipediaを参考にしています。誤りや古くなっている箇所などあればご指摘ください。チェックサムクレジットカード番号の大半はLuhn(ルーン)アルゴリズムが用いられており、完璧ではありませんがある程度の入力ミスを検出することができます。具体的なロジックは以下の通り。12121212121212182倍にした結果2桁になった場合は1桁目と2桁目を足す。0ちなみに2倍にした結果2桁になった場合は各桁を足すのが本来の仕様でありますが、9を引いても同じ結果になる法則があります。コードを書くときはこちらのほうが楽ですね。18-9=9JavaScriptで検証するチェックサムで入力ミスを検出するまずは単純に入力ミスをチェックサムで検証します。先ほどの仕様を素直にコードにしたものです。)}カード番号の桁数をチェッククレジットカード番号の仕様が全世界共通なら良かったのですが、カード会社毎に違うのでまずはどの会社か判定した上で文字列長のチェックを行います。return(false)}あわせ技というわけで上記2つの関数を組み合わせることでチェックサムと文字列長の簡単なチェックができますね。console.log('invalid')}モジュールを利用するこのページえ書いたコードを利用したモジュールをnpmで公開しています。GitHubで中身も公開しているので気になる方は以下からどうぞ。module...GitHubインストール適当なディレクトリを作ったら、package.jsonを生成します。initnpmコマンドでインストールします。creditcard-checkerjs利用方法チェックサムの検証は以下の通りです。console.log('invalid')}カードブランドの検出はこちら。break;}よろしければご利用ください!プルリクもお待ちしております。2016年コメントコメント欄は休止中です。お問い合わせはこちらからどうぞ。ご質問はTwitterにリプを投げてください。このブログを応援するお寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。PayPalで300円支払う※金額は任意で変更できます。自宅警備がてらゲームのお仕事や講師などしてご飯を食べてます。