Javascriptでクレジットカードの入力を整形する

Javascriptでクレジットカードの入力をフォーマットする際には

formatter.jsが便利です。

使い方は簡単で以下のように使います。

new Formatter(document.getElementById('credit-input'), {
  'pattern': '{{9999}} {{9999}} {{9999}} {{9999}}'
});
<input class="text" id="credit-input" name="card_number" placeholder="1234 5678 0912 3456" type="text" maxlength="19" pattern="[0-9]*" size="19">

http://firstopinion.github.io/formatter.js/