Credit Card input formatting
HTML
<input type="text" class="credit-card" placeholder="XXXX-XXXX-XXXX-XXXX" />
JavaScript
String.prototype.toCardFormat = function () {
return this.replace(/[^0-9]/g, "").substr(0, 16).split("").reduce(cardFormat, "");
function cardFormat(str, l, i) {
return str + ((!i || (i % 4)) ? "" : " ") + l;
}
};
$(document).ready(function(){
$(".credit-card").keyup(function () {
$(this).val($(this).val().toCardFormat());
});
});