derax’s blog

小寺さんのエンジニア備忘録

フォームの数字入力制限

 数値のみ入力したい場合のフォームのバリデート

//数値入力制御(数字のみ+字数制限)
$(".numeric").on("input", function() {
// 空文字の場合は0埋め
if($(this).val() == "" || $(this).val() == null) {
$(this).val(0);
return;
}

var rep = $(this).val().replace(/[^0-9]/g, "");
// 数字以外の場合は0埋め
if(rep == "") {
$(this).val(0);
return;
}
$(this).val(rep);

//文字最大数
if($(this).val().length > $(this).attr('maxlength')) {
$(this).val($(this).val().slice(0, $(this).attr('maxlength')));
}
// 先頭の0を除外
$(this).val(parseInt($(this).val(), 10));
})