Максимальное количество символов в HTML

95

Как установить ограничение на количество символов при вводе текста в HTML?

Ивасакабукиман
источник

Ответы:

133

Есть 2 основных решения:

Чистый HTML:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

Один из JavaScript (прикрепите его к событию onKey):

function limitText(limitField, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } 
}

Но все равно хорошего решения нет. Вы не можете адаптироваться к плохой реализации HTML каждого клиента, это невозможно победить. Вот почему гораздо лучше проверить это на стороне сервера с помощью сценария PHP / Python / любого другого.

e-satis
источник
27
Проверьте сервер в качестве последней проверки работоспособности, но добавьте улучшения на стороне клиента, если можете; это обеспечивает более богатый пользовательский опыт.
Роб
43

есть атрибут maxlength

<input type="text" name="textboxname" maxlength="100" />
крейсер
источник
1
Это правда, но некоторые клиенты не проверяют это. Это особенно верно для клиентов на базе мобильных телефонов.
Drejc,
Также есть способы их удалить. Например, расширение Firefox для веб-разработчиков имеет функцию «Удалить максимальную длину».
Сэм Хаслер,
С помощью Chrome и его комплекта разработчика (который поставляется с браузером) такие вещи просто удалить в html
AntonioCS
12

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

Кроме того, ребята, он (или она) сказал HTML, а не XHTML. ;)

Девин Жанпьер
источник
Я согласен. можно POST-данные непосредственно на веб-сайт, используя какой-либо инструмент сценария, поэтому в этом случае maxlength и другие проверки на стороне браузера не являются
надежными
или используйте firebug и удалите атрибут maxlength.
Зак,
5

используйте атрибут «maxlength», как говорили другие.

если вам нужно установить максимальную длину символа в текстовой области, вам нужно обратиться к Javascript. Взгляните сюда: Как наложить maxlength на textArea в HTML с помощью JavaScript

Nickf
источник
проверьте эту ссылку в StackOverflow: stackoverflow.com/questions/1125482/…
TlonXP 02
1

Для элемента <input> есть атрибут maxlength:

<input type="text" id="Textbox" name="Textbox" maxlength="10" />

(кстати, тип - «текст», а не «текстовое поле», как пишут другие), однако вы должны использовать javascript с <textarea> s. В любом случае длину нужно проверять на сервере.

Pilsetnieks
источник
0

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

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
Шех Данишуэн
источник