HTML의 문자 제한


답변:


133

두 가지 주요 솔루션이 있습니다.

순수한 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 / 어떤 스크립트를 사용하여 서버 측에서 확인하는 것이 훨씬 낫습니다.


27
최종 온 전성 검사로 서버를 확인하되 가능하면 클라이언트 측 개선 사항을 추가하십시오. 더 풍부한 사용자 경험을 제공합니다.
Rob

43

maxlength 속성이 있습니다

<input type="text" name="textboxname" maxlength="100" />

1
이것은 사실이지만 일부 클라이언트는 이것을 확인하지 않습니다. 이것은 특히 휴대폰 기반 클라이언트에 해당됩니다.
Drejc

제거하는 방법도 있습니다. 예를 들어 Firefox 웹 개발자 확장에는 최대 길이 제거 기능이 있습니다.
Sam Hasler

크롬 (브라우저와 함께 제공) 그것의 개발자 키트로는 HTML에서 같은 것들을 제거하는 간단
AntonioCS

12

위의 것 외에도 클라이언트 측 유효성 검사 (HTML 코드, 자바 스크립트 등)로는 충분하지 않다는 점을 지적하고 싶습니다. 또한 서버 측의 길이를 확인하거나 전혀 확인하지 마십시오 (사람들이 주변을 돌아 다닐 수있을만큼 중요하지 않은 경우이를 방지하기위한 조치를 실제로 보장하는 것도 중요하지 않습니다).

또한 동료들, 그는 XHTML이 아니라 HTML이라고 말했습니다. ;)


나는 동의한다. 하나 때문에이 경우의 최대 길이 및 다른 브라우저 측 유효성 검사에 완전하지는 않습니다, 일부 스크립트 도구를 사용하여 웹 사이트에 직접 데이터를 게시 할 수 있습니다
cruizer

또는 방화범을 사용하고 maxlength 속성을 제거하십시오.
Zach


1

<input> 요소에는 maxlength 속성이 있습니다.

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

(그런데 유형은 다른 사람들이 작성하는 "텍스트 상자"가 아니라 "텍스트"입니다.) 그러나 <textarea>와 함께 javascript를 사용해야합니다. 어쨌든 서버에서 길이를 확인해야합니다.


0

매우 빠른 jquery로 maxlength를 설정할 수 있습니다.

jQuery(document).ready(function($){ //fire on DOM ready
 setformfieldsize(jQuery('#comment'), 50, 'charsremain')
})
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.