Подтвердить что ты не робот

Проверка номера бутстрапа

У меня есть Bootstrap, и у меня проблема с проверкой. Мне нужно ввести только положительное целое число. Как его реализовать?

Например:

<div>                       
    <input type="number" id="replyNumber" data-bind="value:replyNumber" />
</div>
4b9b3361

Ответ 1

Это не специфичная для Twitter начальная загрузка, это обычный компонент HTML5, и вы можете указать диапазон с помощью атрибутов min и max (в вашем случае только первый атрибут). Например:

<div>                       
    <input type="number" id="replyNumber" min="0" data-bind="value:replyNumber" />
</div>

Ответ 2

Ну, я всегда использую один и тот же простой способ, и это работает для меня. В вашем HTML сохраните тип как текст (как это):

<input type="text" class="textfield" value="" id="onlyNumbers" name="onlyNumbers" onkeypress="return isNumber(event)" onpaste="return false;"/>

После этого вам нужно только добавить метод на JavaScript

<script type="text/javascript">     
function isNumber(evt) {
        evt = (evt) ? evt : window.event;
        var charCode = (evt.which) ? evt.which : evt.keyCode;
        if ( (charCode > 31 && charCode < 48) || charCode > 57) {
            return false;
        }
        return true;
    }
</script>

С помощью этой простой проверки вы получите только положительные числа, как вы хотели. Вы можете изменить charCodes, чтобы добавить больше действительных ключей в ваш метод.

Вот код работает: проверка только номера

Ответ 3

Вы должны использовать проверку JQuery, потому что если вы используете type="number", вы также можете ввести символ "E" в тип ввода, который не является правильным.

Решение:

HTML

<input class="form-control floatNumber" name="energy1_total_power_generated" type="text" required="" > 

JQuery

//integer value validation
$('input.floatNumber').on('input', function() {
    this.value = this.value.replace(/[^0-9.]/g,'').replace(/(\..*)\./g, '$1');
});