Ограничить количество символов, разрешенных в текстовом поле ввода формы

Как ограничить или ограничить ввод пользователем не более пяти символов в текстовом поле?

ниже находится поле ввода, как часть моей форме:

<input type="text" id="sessionNo" name="sessionNum" />

он использует что-то вроде maxSize или что-то в этом роде?

9 ответов


maxlength:

максимальное количество символов, которые будут приняты в качестве входных данных. Это может быть больше , чем указано по размеру, в этом случае поле правильно свиток. По умолчанию не ограничено.

<input type="text" maxlength="2" id="sessionNo" name="sessionNum" onkeypress="return isNumberKey(event)" />

однако на это может повлиять или не повлиять ваш обработчик. Возможно, Вам также потребуется использовать или добавить другую функцию обработчика для проверки длины.


самый простой способ сделать так:

maxlength="5"

Так.. Добавление этого атрибута в элемент управления:

<input type="text" 
    id="sessionNo" 
    name="sessionNum" 
    onkeypress="return isNumberKey(event)" 
    maxlength="5" />

добавьте в заголовок следующее:

<script language="javascript" type="text/javascript">
function limitText(limitField, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    }
}
</script>

    <input type="text" id="sessionNo" name="sessionNum" onKeyDown="limitText(this,5);" 
onKeyUp="limitText(this,5);"" />

по данным W3C по, значением по умолчанию для атрибута MAXLENGTH является неограниченное число. Поэтому, если вы не укажете max, пользователь может вырезать и вставить Библию пару раз и вставить ее в форму.

даже если вы укажете MAXLENGTH на разумное число, убедитесь, что вы дважды проверяете длину представленных данных на сервере перед обработкой (используя что-то вроде php или asp), поскольку довольно легко обойти основное ограничение MAXLENGTH во всяком случае


Я всегда делаю это так:

$(document).ready(function(){
var maxChars = $("#sessionNum");
var max_length = maxChars.attr('maxlength');
if (max_length > 0) {
    maxChars.bind('keyup', function(e){
        length = new Number(maxChars.val().length);
        counter = max_length-length;
        $("#sessionNum_counter").text(counter);
    });
}
});

вход:

<input name="sessionNum" id="sessionNum" maxlength="5" type="text">
Number of chars: <span id="sessionNum_counter">5</span>

сделать это проще

      <input type="text" maxlength="3" />

и используйте предупреждение, чтобы показать, что используются максимальные символы.


<input type="text" maxlength="5">

максимальное количество писем, которое может быть на входе 5.


вы можете использовать <input type = "text" maxlength="9"> или

<input type = "number" maxlength="9"> для чисел или <input type = "email" maxlength="9"> по электронной почте проверка будет отображаться


Maxlength

максимальное количество символов, которые будут приняты в качестве входных данных. Атрибут maxlength указывает максимальное количество символов, разрешенных в элементе.

Maxlength W3 школы

  <form action="/action_page.php">
     Username: <input type="text" name="usrname" maxlength="5"><br>
     <input type="submit" value="Submit">
   </form>