>  기사  >  웹 프론트엔드  >  js는 입력 길이를 제한합니다. 한자는 2자입니다. 특수 효과입니다.

js는 입력 길이를 제한합니다. 한자는 2자입니다. 특수 효과입니다.

WBOY
WBOY원래의
2016-05-16 18:04:441310검색

이 효과는 함수에 통합되어 있습니다.
첫 번째는 텍스트 영역 또는 기타 텍스트 형식의 ID입니다.
두 번째는 비워 둘 수 있는 입력 콘텐츠의 ID입니다.
세 번째가 가장 많이 입력되는 문자로, 한자 하나가 2글자입니다.
이것은 단지 기본적인 효과일 뿐이며 학생들은 이를 최적화하고 개선할 수 있습니다.
코드를 얻으려면 데모 소스 파일을 확인하세요


[Ctrl A 모두 선택 참고:
외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다 <script> function lengthLimit(elem, showElem, max){ var elem = document.getElementById(elem); var showElem = document.getElementById(showElem); var max = max || 50;// 最大限度字符,汉字按两个字符计算 function getTextLength(str){// 获取字符串的长度 一个汉字为2个字符 return str.replace(/[^\x00-\xff]/g,"xx").length; }; // 监听textarea的内容变化 if(/msie (\d+\.\d)/i.test(navigator.userAgent) == true) {// 区分IE elem.onpropertychange = textChange; }else{ elem.addEventListener("input", textChange, false); } function textChange(){// 内容变化时的处理 var text = elem.value; var count = getTextLength(text); if(count > max){// 文字超出截断 for(var i=0; i<text.length; i++){ if(getTextLength(text.substr(0, i)) >= max){ elem.value = text.substr(0, i); if(showElem) showElem.innerHTML = elem.value;// 显示输出结果 break; }; } }else{ if(showElem) showElem.innerHTML = elem.value;// 显示输出结果 }; }; textChange();// 加载时先初始化 }; </script>]
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.