本文目录
- 设置textarea的输入字数
- 在HTML中,textarea怎样控制最多输入字数
- 如何限制文本域textarea的字数
- textarea 文字输入多少
设置textarea的输入字数
《form》 《textarea name=“textarea“ cols=“40“ rows=“5“ onkeyup=“check()“ 》《/textarea》《br》《br》《/form》《script》function check(){ var txt=document.forms.textarea.value; if(txt.length》=50) alert(“输入不可以大于50个字符“);}《/script》
在HTML中,textarea怎样控制最多输入字数
var CSSrules = { ’textarea’ : function(element){ element.onkeydown = function(event){ return doKeyPress(element,event); } , element.onpaste = function(){ return doPaste(element); } , element.onkeyup = function(){ return doKeyUp(element); } , element.onblur = function(){ return doKeyUp(element); } }}Behaviour.register(CSSrules);var detect = navigator.userAgent.toLowerCase();// Keep user from entering more than maxLength charactersfunction doKeyPress(obj,evt){//键入时 maxLength = obj.getAttribute(“maxlength“); var e = window.event ? event.keyCode : evt.which; if ( (e == 32) || (e == 13) || (e 》 47)) { //IE if(maxLength && (obj.value.length 》 maxLength-1)) { if (window.event) { window.event.returnValue = null; } else { evt.cancelDefault; return false; } } }}function doKeyUp(obj){//按键时 maxLength = obj.getAttribute(“maxlength“); if(maxLength && obj.value.length 》 maxLength){ obj.value = obj.value.substr(0,maxLength); } sr = obj.getAttribute(“showremain“); if (sr) { document.getElementById(sr).innerHTML = maxLength-obj.value.length;//sr是剩余可添加字符数 }}// Cancel default behavior and create a new paste routinefunction doPaste(obj){ //复制时maxLength = obj.getAttribute(“maxlength“); if(maxLength){ if ((window.event) && (detect.indexOf(“safari“) + 1 == 0)) { //IE var oTR = obj.document.selection.createRange(); var iInsertLength = maxLength - obj.value.length + oTR.text.length; try { var sData = window.clipboardData.getData(“Text“).substr(0,iInsertLength); //截断多余的字符 oTR.text = sData; } catch (err) { } if (window.event) { //IE window.event.returnValue = null; } else { //not IE obj.value = obj.value.substr(0,maxLength); return false; } } }}
如何限制文本域textarea的字数
与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求。通常的做法就是使用JavaScript脚本语言来实现对textarea文本域的字数输入限制,简单而实用。假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为10个字(汉字或其他小角字符):<script language=“javascript“ type=“text/ecmascript“> window.onload = function() { document.getElementById(’txta1’).onkeydown = function() { if(this.value.length 》= 10) event.returnValue = false; } } </script> 它的原理是通过对keydown(键盘键位按下)事件对指定id号的文本区进行监测,可以想象,它只能限制键盘输入,如果用户通过鼠标右键粘贴剪切板中的文本,它无法控制字数。试看以下效果,请尝试用键盘输入:通过键盘输入,以上文本区只能输入10个字。但是,我们的目的并没有达到!请随便复制一些文本,试着用鼠标右键粘贴,看看发生了什么。你可以在网上找到类似上述的其他JS脚本,它们不管多么优秀,其原理都是一样的,通过对keydown、keyup或keypress之类的键盘键位操作事件来监控文本区的输入,无法防止鼠标右键的粘贴,为此,如果一定要真正地限制textarea的字数,我们还得为网页加另一把锁——禁用鼠标右键,这无疑得付出额外的开销,同时也可能是网页制作者不一定愿意做的。其实,还有一个更简单的方法,使用onpropertychange属性。onpropertychange可以用来判断预定元素的value值,当元素的value值发生变化时判断事件就会被触发,仅关心被监测元素的value值,避开了输入的来源,从而可以比较理想地达成我们的限制字数这一目的。它属于JS范畴,可以在表单方框区代表中嵌套使用,以下是代码和效果样式,可以像上面那样测试输入,你会发现它真正达到目的:不管用什么方式输入,它只能输入100个字(汉字或其他小解符号)
textarea 文字输入多少
《textarea name=“content“ id=“content“ style=“width:345px;height:120px;“》《/textarea》《div id=“contentwordage“》《/div》《script type=“text/javascript“》$(document).ready(function(){ var limitNum = 500; var pattern = ’还可以输入’ + limitNum + ’字符’; $(’#contentwordage’).html(pattern); $(’#content’).keyup( function(){ var remain = $(this).val().length; if(remain 》 500){ pattern = “字数超过限制!“; }else{ var result = limitNum - remain; pattern = ’还可以输入’ + result + ’字符’; } $(’#contentwordage’).html(pattern); } );});《/script》这个是判断字符的,给你借鉴下。如果是判断汉字,需要根据你网页的编码来计算。如果是GBK\GB2312编码,2个字节=1个汉字如果是unicode\utf-8编码,里面汉字是长度不是一定的,有的长、有的短,2~4=1个汉字。