下面用简单的例子示范用 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 参数);
======
======
分享到:
相关推荐
总之,通过JavaScript的事件监听机制,我们可以精确控制用户在`textarea`中的输入,不仅可以限制字符数,还能实现各种复杂的交互功能。理解并熟练应用这些事件,对于提升网页的用户体验至关重要。
在某些场景下,我们可能需要限制用户在`textarea`中输入的最大字符数,以防止过长的数据导致处理问题或者数据库存储问题。这就是`maxlength`属性的作用。`maxlength`属性是HTML5引入的一个特性,允许我们为`textarea...
4. **可选:限制最大字符数**:如果需要限制textarea的输入字符数,可以添加条件判断,当字符数超过设定值时阻止输入。 ```javascript var maxLength = 140; // 设置最大字符数 textarea.on('keyup', function()...
jQuery的Textarea字符限制插件就是为此目的而设计的,它可以实时显示用户当前输入的字符数,并在达到预设限制时阻止进一步输入或给出提示。 这个插件的核心功能包括: 1. 实时监控:当用户在textarea中键入内容时,...
总结起来,通过JavaScript我们可以轻松地实现对`<textarea>`的字数限制功能,包括监听输入事件、检查字符数、限制输入以及提供实时反馈。这样的功能对于优化用户界面和提高网站质量具有重要意义。通过结合源码和工具...
然而,有时候我们需要对用户输入的字符数进行限制,防止过长的文本影响页面布局或数据库存储。本文将深入探讨如何实现对`textarea`文本长度的控制,并实时显示输入字数的统计。 首先,我们可以使用JavaScript来实现...
尽管HTML的`maxlength`属性可以满足基本需求,但在一些高级应用中可能还需要更多的控制,比如实时显示当前已输入字符数、粘贴时自动截断过长内容等。这时就需要使用JavaScript来实现这些功能。 ##### 3.1 使用`...
总的来说,"textarea限制长度插件"是jQuery生态系统中一个实用的工具,它使得限制textarea字符数变得简单而直观。无论是用于表单验证还是数据管理,这个插件都能帮助开发者实现高效且用户友好的界面。通过深入理解和...
本篇文档提到的“textarea 控制输入字符字节数”的知识点,便是介绍如何通过JavaScript脚本来限制`<textarea>`输入框中输入内容的字节长度。文档中提供了具体的示例代码,通过这些代码,开发者能够限制用户在输入时...
在JavaScript中,对`textarea`元素进行输入字符串长度限制是一个常见的需求,特别是在处理用户输入时,需要确保数据格式的正确性。在HTML中,`textarea`控件不像`input[type="text"]`那样可以直接通过`maxlength`...
根据提供的文件信息,本文将介绍如何使用JavaScript(简称js)技术来实现对网页中的多行文本输入框(textarea)输入字符数的限制。同时,将展示如何通过监听键盘的按下(onKeyDown)和抬起(onKeyUp)事件,来动态地...
以上知识点详细解释了如何使用JavaScript监听鼠标事件来控制textarea输入框中的字符数,并提供了实现该功能的具体代码示例和逻辑说明。这些知识点不仅涉及了前端开发的基本概念,还展示了如何通过编程实现具体的用户...
在JavaScript编程中,限制用户在多行文本输入框(`<textarea>`)中输入的字符数是一项常见的需求。虽然HTML的`<input type="text">`元素提供了`maxlength`属性来限制单行文本框的最大字符数,但多行文本框并不支持这...
在JavaScript中实现Textarea字数统计并提示还能输入的字符数是一项常见的前端交互功能,尤其在社交媒体和博客平台中,为了限制用户的输入长度,这样的实时字数统计显得尤为重要。本篇文章将详细讲解如何利用...
接下来,我们将使用 JavaScript 来监听 TextArea 的变化,并计算剩余的字符数。 ```javascript var otText = document.getElementById("text1"); var otTextLeft = document.getElementById("textleft"); var re = ...
### JavaScript 获取光标所在文本框(text/textarea)中的位置 在前端开发中,经常需要处理用户在文本框(如`<input type="text">`或`<textarea>`)内的输入行为,例如实现自动填充、实时校验等功能时,获取光标的...
知识点二:textarea字符限制的实现 文章中展示了两个关键的自定义函数:getStringUTFLength和leftUTFString,分别用于获取字符串的UTF长度和截取字符串到指定长度。 - getStringUTFLength函数:通过正则表达式匹配...
在网页开发中,`Textarea` 是一种常用的表单元素,用于收集用户输入的多行文本。标题“Textarea在光标停留处插入文字”涉及到的是如何在`Textarea`中实现文字的动态插入,使得新添加的文字能精确地出现在用户当前...
在HTML中,`textarea`可以通过`rows`和`cols`属性来设置初始的行数和列数,但这仅影响控件的大小,并不控制字符显示: ```html <textarea rows="5" cols="30"></textarea> ``` 要实现每行字符限制,我们需要编写...
3. 字符串操作:使用JavaScript的字符串方法.split()来分割textarea中的文本。这里用到了换行符("\n")作为分隔符,将文本分割成数组,数组的每个元素代表一行文本。 4. 循环和数组操作:通过for循环遍历上面分割...