При введенні довгих чисел у текстове поле стає візуально зрозумілішим і зручнішим, якщо числа автоматично б'ються на розряди. Зробити таку функцію можна на JS за допомогою регулярних виразів та jQuery.
Введення лише чисел (без крапки)
<input id="sum" type="text" placeholder="Введіть число">
<script>
function digits_int(target){
val = $(target).val().replace(/[^0-9]/g, '');
val = val.replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
$(target).val(val);
}
$(function($){
$('body').on('input', '#sum', function(e){
digits_int(this);
});
digits_int('#sum');
});
</script>
Введення суми з копійками
Другий приклад обмежує введення в поле числом із двома знаками після точки (наприклад:
1000.00).
<input id="sum" type="text" placeholder="Введіть суму">
<script>
function digits_float(target){
val = $(target).val().replace(/[^0-9.]/g, '');
if (val.indexOf(".") != '-1') {
val = val.substring(0, val.indexOf(".") + 3);
}
val = val.replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
$(target).val(val);
}
$(function($){
$('body').on('input', '#sum', function(e){
digits_float(this);
});
digits_float('#sum');
});
</script>