Форматирование чисел при вводе ⇐ Javascript
Форматирование чисел при вводе
Я огляделся и не нашел способа сделать это. Когда пользователь вводит число в поле ввода, например:
Как мне заставить это обновляться, когда они печатают что-то вроде. например:
Ввод: 100000
Выход: 100 000
У меня есть похожий код, который форматирует некоторые другие числа по мере их расчета. Вот функция, которую я использую для форматирования других чисел.
function format_num(number) { число += ''; х = число.split('.'); х1 = х[0]; x2 = длина x > 1? '.' + х[1] : ''; var rgx = /(\d+)(\d{3})/; в то время как (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } вернуть х1 + х2; } Это работает нормально, как я уже сказал, я не уверен, как поместить в это значение, введенное пользователями, и вернуть выходные данные обратно в поле ввода, пока они печатают.
Примечание. Мне нужно отформатировать более одного поля ввода.
Обновление:
В моем коде есть это, которое срабатывает при каждом нажатии клавиатуры, поэтому его можно использовать. Это используется для всей формы, поэтому форма обновляется при каждом нажатии кнопки.
$(".numberOnly").keypress(function (e) { //если буква не цифра, то выводим ошибку и ничего не пишем if (e.который != 8 && e.который != 46 && e.который != 0 && (e.который < 48 || e.который > 57)) { //выводим сообщение об ошибке $("#errmsg").html("Только цифры").show().fadeOut(1600); вернуть ложь; } еще { $('input').keyup(function () { }); } }); Обновление 2:
Можно ли сделать для него своего рода наложение, например: входное значение равно 1000, но наложение показывает его для использования как 1000?
Любая помощь будет отличной, ребята. Большое спасибо!
Я огляделся и не нашел способа сделать это. Когда пользователь вводит число в поле ввода, например:
Как мне заставить это обновляться, когда они печатают что-то вроде. например:
Ввод: 100000
Выход: 100 000
У меня есть похожий код, который форматирует некоторые другие числа по мере их расчета. Вот функция, которую я использую для форматирования других чисел.
function format_num(number) { число += ''; х = число.split('.'); х1 = х[0]; x2 = длина x > 1? '.' + х[1] : ''; var rgx = /(\d+)(\d{3})/; в то время как (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } вернуть х1 + х2; } Это работает нормально, как я уже сказал, я не уверен, как поместить в это значение, введенное пользователями, и вернуть выходные данные обратно в поле ввода, пока они печатают.
Примечание. Мне нужно отформатировать более одного поля ввода.
Обновление:
В моем коде есть это, которое срабатывает при каждом нажатии клавиатуры, поэтому его можно использовать. Это используется для всей формы, поэтому форма обновляется при каждом нажатии кнопки.
$(".numberOnly").keypress(function (e) { //если буква не цифра, то выводим ошибку и ничего не пишем if (e.который != 8 && e.который != 46 && e.который != 0 && (e.который < 48 || e.который > 57)) { //выводим сообщение об ошибке $("#errmsg").html("Только цифры").show().fadeOut(1600); вернуть ложь; } еще { $('input').keyup(function () { }); } }); Обновление 2:
Можно ли сделать для него своего рода наложение, например: входное значение равно 1000, но наложение показывает его для использования как 1000?
Любая помощь будет отличной, ребята. Большое спасибо!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение