ホームページ  >  記事  >  ウェブフロントエンド  >  js は入力長を漢字 2 文字に制限します_特殊効果を与えます。

js は入力長を漢字 2 文字に制限します_特殊効果を与えます。

WBOY
WBOYオリジナル
2016-05-16 18:04:441310ブラウズ

この効果は関数に統合されています。この関数は 3 つのパラメータを受け入れます。
1 つ目はテキストエリアまたはその他のテキスト フォームの ID です。
2 つ目は表示される入力コンテンツの ID であり、空白のままにすることができます。
3番目は最も多く入力される文字で、漢字1文字が2文字です。
これは単なる基本的な効果であり、学生はこれを最適化して改善することができます。
コードを入手するには、デモのソース ファイルを表示してください


[Ctrl A すべて選択 注:
外部 Js を導入する必要がある場合は、<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 までご連絡ください。