`
spacefly
  • 浏览: 277891 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript 控制 textarea 字符数

阅读更多
下面用简单的例子示范用 js 控制 textarea 的 字符数;

======
示例1
======
<!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>test</title>
		<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
		<script type="text/javascript">
			function textcontrol(taId,maxSize) {
				// 默认 最大字符限制数
				var defaultMaxSize = 200;
				var ta = document.getElementById(taId);
				// 检验 textarea 是否存在
				if(!ta) {
					return;
				}
				// 检验 最大字符限制数 是否合法
				if(!maxSize) {
					maxSize = defaultMaxSize;
				} else {
					maxSize = parseInt(maxSize);
					if(!maxSize || maxSize < 1) {
						maxSize = defaultMaxSize;
					}
				}
				   if (ta.value.length > maxSize) {
					ta.value=ta.value.substring(0,maxSize);
					alert("超过最大字符限制:"+maxSize);
				} 
			}
		</script>
	</head>
	<body>
		<textarea name="ta1" id="ta1" cols="50" rows="10" onkeyup="textcontrol(this.id)"></textarea>
		<textarea name="ta2" id="ta2" cols="50" rows="10" onkeyup="textcontrol(this.id,5)"></textarea>
	</body>
</html>



使用说明:
js 的 textcontrol(taId,maxSize) 方法 接受2个参数:
* 第一个参数表示 需要校验的 textarea 的 id,这个参数不能为空;
* 第二个参数是 最大字符限制数,是可选的,如果没有这个参数,或者这个参数不合法,则用 600

注意:
这个示例无法对右键粘贴进行检测,下面的示例可以;

======
示例2
======
<!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>test</title>
		<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
		<script type="text/javascript">
			// onchange 事件时(等同于 失去焦点),提示并限制字符数
			function taCheckOnChange(taId,maxSize) {
				// 默认 最大字符限制数
				var defaultMaxSize = getDefaultMaxSize();
				var ta = document.getElementById(taId);
				// 检验 textarea 是否存在
				if(!ta) {
					return;
				}
				// 检验 最大字符限制数 是否合法
				if(!maxSize) {
					maxSize = defaultMaxSize;
				} else {
					maxSize = parseInt(maxSize);
					if(!maxSize || maxSize < 1) {
						maxSize = defaultMaxSize;
					}
				}
				// 提示当前输入字符数
				var taTipDiv = document.getElementById("taTipDiv");
				taTipDiv.innerHTML=("当前字符数:" + ta.value.length + ",字数限制:" + maxSize);
			   if (ta.value.length > maxSize) {
					alert("当前字数 "+ta.value.length+" ,超过最大字符限制数 "+maxSize+" ,点击 \"确定\" 将自动截断。");
					ta.value=ta.value.substring(0,maxSize);
					taTipDiv.innerHTML=("当前字数:" + ta.value.length + ",字数限制:" + maxSize);
				} 
			}
			// 当键盘输入时,提示并限制字符数
			function taCheckOnKeyUp(taId,maxSize) {
				// 默认 最大字符限制数
				var defaultMaxSize = getDefaultMaxSize();
				var ta = document.getElementById(taId);
				// 检验 textarea 是否存在
				if(!ta) {
					return;
				}
				// 检验 最大字符限制数 是否合法
				if(!maxSize) {
					maxSize = defaultMaxSize;
				} else {
					maxSize = parseInt(maxSize);
					if(!maxSize || maxSize < 1) {
						maxSize = defaultMaxSize;
					}
				}	
				// 检验 最大字符限制数 是否合法
				if (ta.value.length > maxSize) {
					ta.value=ta.value.substring(0,maxSize);
				} 
				// 提示当前输入字符数
				var taTipDiv = document.getElementById("taTipDiv");			
                                taTipDiv.innerHTML=("当前字数:" + ta.value.length + ",字数限制:" + maxSize);
			}
			// 获得 默认 最大字符限制数
			function getDefaultMaxSize() {
				return 200;
			}
		</script>
	</head>
	<body>
		<div id="taTipDiv"></div>
		<textarea name="ta1" id="ta1" cols="50" rows="10" onkeyup="taCheckOnKeyUp(this.id,20)" onchange="taCheckOnChange(this.id,20)" ></textarea>
	</body>
</html>




使用说明:
有2个方法:
* taCheckOnKeyUp(taId,maxSize) 在 onkeyup 事件时触发,提示当前输入的字符数,并限制输入,这个方法可以对键盘的输入进行限制,对于右键粘贴是无效的;
* taCheckOnChange(taId,maxSize) 在 onchange 事件时触发(相当于 失去焦点时),提示当前输入的字符数,多余的字符自动截断,这个方法主要是针对右键粘贴检测;

注意:
这个例子中使用了2个js方法进行判断,调用这2个js方法时共同的参数也应当相同(比如 maxSize 参数);

======

======
分享到:
评论

相关推荐

    js监听鼠标事件控制textarea输入字符串的个数.docx

    总之,通过JavaScript的事件监听机制,我们可以精确控制用户在`textarea`中的输入,不仅可以限制字符数,还能实现各种复杂的交互功能。理解并熟练应用这些事件,对于提升网页的用户体验至关重要。

    JavaScript实现textarea的maxlength

    在某些场景下,我们可能需要限制用户在`textarea`中输入的最大字符数,以防止过长的数据导致处理问题或者数据库存储问题。这就是`maxlength`属性的作用。`maxlength`属性是HTML5引入的一个特性,允许我们为`textarea...

    jquery 实时统计textarea内的字符个数

    4. **可选:限制最大字符数**:如果需要限制textarea的输入字符数,可以添加条件判断,当字符数超过设定值时阻止输入。 ```javascript var maxLength = 140; // 设置最大字符数 textarea.on('keyup', function()...

    jQuery 文本框字符限制插件 Textarea

    jQuery的Textarea字符限制插件就是为此目的而设计的,它可以实时显示用户当前输入的字符数,并在达到预设限制时阻止进一步输入或给出提示。 这个插件的核心功能包括: 1. 实时监控:当用户在textarea中键入内容时,...

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

    总结起来,通过JavaScript我们可以轻松地实现对`&lt;textarea&gt;`的字数限制功能,包括监听输入事件、检查字符数、限制输入以及提供实时反馈。这样的功能对于优化用户界面和提高网站质量具有重要意义。通过结合源码和工具...

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

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

    textarea长度控制

    尽管HTML的`maxlength`属性可以满足基本需求,但在一些高级应用中可能还需要更多的控制,比如实时显示当前已输入字符数、粘贴时自动截断过长内容等。这时就需要使用JavaScript来实现这些功能。 ##### 3.1 使用`...

    textarea限制长度插件

    总的来说,"textarea限制长度插件"是jQuery生态系统中一个实用的工具,它使得限制textarea字符数变得简单而直观。无论是用于表单验证还是数据管理,这个插件都能帮助开发者实现高效且用户友好的界面。通过深入理解和...

    textarea 控制输入字符字节数(示例代码)

    本篇文档提到的“textarea 控制输入字符字节数”的知识点,便是介绍如何通过JavaScript脚本来限制`&lt;textarea&gt;`输入框中输入内容的字节长度。文档中提供了具体的示例代码,通过这些代码,开发者能够限制用户在输入时...

    js限制textarea每行输入字符串长度的代码.docx

    在JavaScript中,对`textarea`元素进行输入字符串长度限制是一个常见的需求,特别是在处理用户输入时,需要确保数据格式的正确性。在HTML中,`textarea`控件不像`input[type="text"]`那样可以直接通过`maxlength`...

    js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数

    根据提供的文件信息,本文将介绍如何使用JavaScript(简称js)技术来实现对网页中的多行文本输入框(textarea)输入字符数的限制。同时,将展示如何通过监听键盘的按下(onKeyDown)和抬起(onKeyUp)事件,来动态地...

    js监听鼠标事件控制textarea输入字符串的个数

    以上知识点详细解释了如何使用JavaScript监听鼠标事件来控制textarea输入框中的字符数,并提供了实现该功能的具体代码示例和逻辑说明。这些知识点不仅涉及了前端开发的基本概念,还展示了如何通过编程实现具体的用户...

    Javascript学习-限制多行文本输入框的字符数.doc

    在JavaScript编程中,限制用户在多行文本输入框(`&lt;textarea&gt;`)中输入的字符数是一项常见的需求。虽然HTML的`&lt;input type="text"&gt;`元素提供了`maxlength`属性来限制单行文本框的最大字符数,但多行文本框并不支持这...

    JavaScript中统计Textarea字数并提示还能输入的字符

    在JavaScript中实现Textarea字数统计并提示还能输入的字符数是一项常见的前端交互功能,尤其在社交媒体和博客平台中,为了限制用户的输入长度,这样的实时字数统计显得尤为重要。本篇文章将详细讲解如何利用...

    javascript TextArea动态显示剩余字符

    接下来,我们将使用 JavaScript 来监听 TextArea 的变化,并计算剩余的字符数。 ```javascript var otText = document.getElementById("text1"); var otTextLeft = document.getElementById("textleft"); var re = ...

    javascript获得光标所在的文本框(text textarea)中的位置.docx

    ### JavaScript 获取光标所在文本框(text/textarea)中的位置 在前端开发中,经常需要处理用户在文本框(如`&lt;input type="text"&gt;`或`&lt;textarea&gt;`)内的输入行为,例如实现自动填充、实时校验等功能时,获取光标的...

    JS简单限制textarea内输入字符数量的方法

    知识点二:textarea字符限制的实现 文章中展示了两个关键的自定义函数:getStringUTFLength和leftUTFString,分别用于获取字符串的UTF长度和截取字符串到指定长度。 - getStringUTFLength函数:通过正则表达式匹配...

    Textarea在光标停留处插入文字

    在网页开发中,`Textarea` 是一种常用的表单元素,用于收集用户输入的多行文本。标题“Textarea在光标停留处插入文字”涉及到的是如何在`Textarea`中实现文字的动态插入,使得新添加的文字能精确地出现在用户当前...

    textArea内每行设定显示字符数量

    在HTML中,`textarea`可以通过`rows`和`cols`属性来设置初始的行数和列数,但这仅影响控件的大小,并不控制字符显示: ```html &lt;textarea rows="5" cols="30"&gt;&lt;/textarea&gt; ``` 要实现每行字符限制,我们需要编写...

    一个JavaScript处理textarea中的字符成每一行实例

    3. 字符串操作:使用JavaScript的字符串方法.split()来分割textarea中的文本。这里用到了换行符("\n")作为分隔符,将文本分割成数组,数组的每个元素代表一行文本。 4. 循环和数组操作:通过for循环遍历上面分割...

Global site tag (gtag.js) - Google Analytics