`

input textarea文本框长度限制(包括中文字符)

    博客分类:
  • seam
阅读更多

seam项目中涉及到textarea文本框输入,为了限制输入的长度,可以用js限制,实现类似twitter输入的功能,实现如下:

页面空间代码:

 

                <h:inputTextarea id="deviceDesc"
                               cols="60"
                               rows="3"
                              value="#{xHome.instance.deviceDesc}" 
                              onkeydown="chkTextareaLen(this.id,'counterDeviceDesc',255);" 
                              onkeyup="chkTextareaLen(this.id,'counterDeviceDesc',255);"/>
                <br/>可以输入<span id="counterDeviceDesc" class="required">255</span>个字节

 

js代码:

 

/**
*textarea文本框输入字数检测
*textareaId:textarea的dom标识
*maxLen:要求的最大字节长度
*/
function chkTextareaLen(textareaId,counterId,maxLen) {
	try{
		var textareaValue = document.getElementById(textareaId).value;
		var curLen = 0,substrLen = 0;
		
	    for (var i=0; i<textareaValue.length; i++) {  
	        if (textareaValue.charCodeAt(i)>127 || textareaValue.charCodeAt(i)==94) {  
	        	curLen += 2;  
	        } else {
	        	curLen ++;  
	        } 
	
	        if(curLen > maxLen){
	        	substrLen = i;
	        	break;
	        }
	    }
	    
	    if(curLen > maxLen) {
		    if(substrLen == 0) substrLen = maxLen;
	    	document.getElementById(textareaId).value = textareaValue.substring(0,substrLen);
	        alert("文本长度不能大于"+maxLen+"个字节(中文占2个字节)"); 
	  	}else{
	    	document.getElementById(counterId).innerHTML = maxLen - curLen;
		}
	}catch(e){}
}

 

把js放着公共js文件中,可直接复用了。

 

 

2
1
分享到:
评论
1 楼 fixsmall 2010-10-20  
onkeydown和onkeyup不支持中文输入

相关推荐

    jQuery textarea文本框输入文字字数限制提示代码

    本示例中,我们将探讨如何使用jQuery实现textarea文本框的字数限制功能,并实时提示用户输入的字符数量。 首先,让我们了解jQuery的基本概念。jQuery通过一个"$"符号作为入口,提供了一种简洁的方式来选择DOM元素、...

    jQuery textarea文本框输入文字字数限制提示代码.zip

    js代码 [removed] //显示限制输入字符method function textAreaChange(obj){ ... var count_total = $this...jQuery textarea文本框输入文字字数限制提示代码,设置固定输入字符,实时计算显示已经输入多少字符。

    控制textarea文本长度,并限制输入字数(带统计显示)

    然而,有时候我们需要对用户输入的字符数进行限制,防止过长的文本影响页面布局或数据库存储。本文将深入探讨如何实现对`textarea`文本长度的控制,并实时显示输入字数的统计。 首先,我们可以使用JavaScript来实现...

    jquery新浪发布微博textarea文本框限制文字字数表单

    本教程将详细讲解如何利用jQuery实现一个类似新浪发布微博的功能,特别是针对textarea文本框进行文字字数限制。 一、jQuery简介 jQuery是由John Resig在2006年创建的,它的核心理念是"Write Less, Do More",通过...

    html 文本框限制 大全

    1. **长度限制**: HTML的`&lt;input&gt;`标签提供了一个`maxlength`属性,可以限制用户在文本框中输入的最大字符数。例如,`&lt;input type="text" maxlength="10"&gt;`将限制输入不超过10个字符。 2. **类型限制**: `type`...

    jQuery textarea文本框输入文字字数限制提示特效代码

    本教程将详细讲解如何使用jQuery实现textarea文本框的文字字数限制及实时提示功能。 首先,我们需要在HTML中创建一个textarea元素,用于用户输入文本,并添加一个用于显示剩余字数的元素。例如: ```html ...

    多行文本框如何限制输入字数方法二.rar

    我们可以通过设置`rows`和`cols`属性来调整文本框的高度和宽度,但这些属性并不会限制用户输入的字符数。 要限制输入字数,我们可以使用JavaScript进行实时监控。以下是实现这一功能的基本步骤: 1. **HTML结构**...

    基于jquery的textarea发布框限制文字字数输入(添加中文识别)

    限制`textarea`中文字数的一个常见需求是在用户输入时动态显示剩余可输入的字符数。为了实现这一功能,可以通过监听`keyup`事件来触发字符数计算函数。 ### 知识点三:中文字符识别的特殊处理 在处理文本字符数时...

    layui输入框只允许输入中文且判断长度的例子

    为了判断一个字符串是否只包含中文字符,并且长度是否符合要求,我们需要编写一个函数来实现这一逻辑。这个函数将会遍历输入字符串的每个字符,检查其Unicode编码范围来确定它是否为中文字符。对于中文字符,每个...

    文本框自动换行

    5. **字符限制**:为了避免无限增长,可以设置最大输入字符数。在HTML`&lt;textarea&gt;`中,可以用`maxlength`属性;在.NET和Android中,可以通过代码逻辑实现;在iOS,可以设置`textView.maximumNumberOfLines`。 6. **...

    jquery-文本框输入即时显示可输入剩余字符数

    在这个特定的应用中,jQuery将用于监听文本框(`&lt;input type="text"&gt;`或`&lt;textarea&gt;`)的输入事件,并实时更新剩余字符数的显示。 实现这一功能的基本步骤如下: 1. **选择元素**:首先,我们需要用jQuery选择器...

    JS控制文本框textarea输入字数限制的方法

    6. 同时,页面中还有一个用于显示剩余字符数的文本框(input元素),它的值默认设置为最大限制数,通过readonly属性设置为不可编辑。 7. HTML文档的头部(head部分)包含了页面的标题(title)和字符编码设置(meta...

    js 中文判断 判断文本框内是否含有中文

    在JavaScript(简称js)编程中,判断一个文本框(input元素或者textarea元素)内的内容是否包含中文字符,是一项常见的需求。这通常应用于表单验证、输入检查等场景,确保用户输入的数据符合特定的要求。中文字符...

    使用JavaScript限制TextArea多行文本域的可输入字数

    `this.value.length`用于获取当前文本框的字符数,`slice(0, maxLength)`则用于截取不超过最大长度的文本。 为了提高用户体验,我们还可以在`textarea`下方添加一个实时显示剩余字数的元素,如下所示: ```html ...

    JS获取文本框焦点光标位置、选中起始位置、终止位置、选择内容

    在JavaScript编程中,文本框(TextBox)是网页交互中常用的一种元素,用户可以在其中输入文本。有时,开发者需要获取或操作文本框中的焦点光标位置、选中起始位置、终止位置以及选中的内容,这对于实现诸如高亮显示...

    文本框的字数限制功能jquery插件

    `&lt;input&gt;`元素有一个内置的`maxlength`属性,可以限制用户输入的最大字符数,但`&lt;textarea&gt;`元素却不具备这样的功能。为了解决这个问题,开发人员通常需要创建自定义的解决方案,但这往往会导致代码复杂且难以维护。...

    jquery 强制设置文本框处于英文输入法状态

    在中文输入法环境下,扫描枪读取的英文字符串如果通过回车事件触发,可能会被系统误识别为汉字输入的一部分,这会导致原本的英文字符串被错误地转换成中文字符,从而影响后续的数据处理和解析。例如,这可能在物流、...

Global site tag (gtag.js) - Google Analytics