2011-12-17 2 views
96

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

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

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

ли это, используя нечто вроде MaxSize или что-то подобное?

+13

Здесь '<входной тип = "текст" MaxLength = "5">' ** Живая демонстрация: ** http://jsfiddle.net/mcBbW/1/ –

ответ

134

maxlength:

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

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

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

+0

Я нашел этот ответ полезным при ограничении на этапе ввода. Вы также можете ограничить его на этапе проверки при отправке и всплытии сообщения проверки с использованием атрибута 'pattern'. См. Http://stackoverflow.com/questions/10281962/is-there-a-minlength-validation-attribute-in-html5 – ibgib

24

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

maxlength="5" 

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

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

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

<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);"" /> 
+0

'this.form.sessionNo' кажется немного подозрительным. Почему не просто «это»? Кроме того, 'limitCount' и' limitNum' также выглядят не по порядку/ненужным? –

+1

Исправлено. Выполняя этот путь, если вы хотите ограничить его определенными символами или цифрами, вы можете, но если вас это не волнует, тогда Max Length будет работать нормально. Поэтому скажите, хотите ли вы, чтобы значения находились между 1-50, вы могли или все положительные числа и т. Д. – codemonkeyww

+0

'this.form.sessionNo' по-прежнему кажется неправильным. 'this' в этом контексте будет указывать на' input', а не 'document'. –

6

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

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

+0

Как пользователь достигает максимальной длины ??? – lopezdp

+1

@lopezdp, существует несколько способов «обойти» ограничения html/javascript. Проще всего проверить, чтобы открыть страницу с помощью Chrome, «проверить элемент» и вручную изменить HTML. Более сложный способ обойти - написать сценарий, который будет публиковать данные, игнорируя любые ограничения (используя библиотеку curl или что-то подобное). В качестве стороннего разработчика вы никогда не должны доверять проверке данных на основе интерфейса - все правила должны дублироваться на сервере. Проверка на соответствие интерфейсу - это всего лишь способ сэкономить время для пользователя, указав на очевидные ошибки без запроса на сервер. –

2

я все дни сделать это следующим образом:

$(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> 
3

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

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

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

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

Максимальное количество букв, которые могут быть на входе: 5.

1

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

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

1

MAXLENGTH

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

Maxlength W3 schools

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

Выходной

Output Image

MinLength

ng-minlength

директива нг-MinLength добавляет ограничение на поле ввода, а также к валидатор формы.

Директива ng-minlength добавит «недопустимое» состояние поля ввода, если длина значения меньше указанного.

Примечание: если значение пустое, считается действительным.

<form name="myForm"> 
     <input name="myInput" ng-model="myInput" ng-minlength="5"> 
     <h1 ng-if="!myForm.myInput.$valid">The value is too short</h1> 
    </form> 

Выходной

enter image description here

Макс

Максимальный атрибут указывает максимальное значение для элемента.

Совет. Используйте атрибут max вместе с атрибутом min, чтобы создать ряд правовых значений.

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

<form> 
     <input type="number" name="number" max="5"> 
    </form> 

Выходной

enter image description here

Max and min diffrence

Мин

Минимальное атрибут определяет минимальное значение для элемента.

Совет. Используйте атрибут min вместе с атрибутом max, чтобы создать ряд правовых значений.

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

<form > 
    <input type="number" name="quantity" min="1"><br> 
    <input type="submit"> 
    </form> 

Выход

enter image description here

Смежные вопросы