- 浏览: 56937 次
- 性别:
- 来自: 南通
文章分类
- 全部博客 (76)
- springMVC (8)
- effective java (4)
- javascript (14)
- webService(SOAP,REST) (1)
- jetty (1)
- dom/sax/stax (0)
- PL/SQL注册码 (2)
- java-NIO (4)
- VIM (0)
- Ant (0)
- Oracle/Mysql (4)
- 性能小组 (5)
- 成本小组 (0)
- 用户体验小组 (0)
- 速度小组 (0)
- Node.js (0)
- 高并发/多线程 (0)
- 海量数据 (0)
- SOA (1)
- NOSQL (0)
- Jquery (1)
- java开发必备工具 (1)
- RabbitMQ (3)
- 项目构建 (1)
- 干货(NIO/多线程/设计模式) (8)
- JSTL(JSP) (2)
- webService(SOAP (2)
- REST) (2)
- Linux/Unit (4)
- 工作 (8)
- SVN(unix/linux) (1)
- 分布式对象计算,网络应用,OSGi,协作计算,Java 安全 (1)
最新评论
实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个)
textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到。与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求。
通常的做法就是使用#脚本语言来实现对textarea文本域的字数输入限制,简单而实用。假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为10个字(汉字或其他小角字符):
<script language="#" 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 onpropertychange="if(value.length>100) value=value.substr(0,100)" class="smallArea" cols="60" name="txta" rows="8"></textarea>
当然,为了更为保险,处理表单数据的后台脚本程序还应该对提交来的数据进行再一次的检测,如果字数超出预设的数量则进行相应处理,这样才达到真正限制字数的目的。(完)
另外一种方法实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个)
<script>
function check() {
var regC = /[^ -~]+/g;
var regE = /\D+/g;
var str = t1.value;
if (regC.test(str)){
t1.value = t1.value.substr(0,10);
}
if(regE.test(str)){
t1.value = t1.value.substr(0,20);
}
}
</script>
<textarea maxlength="10" id="t1" onkeyup="check();">
</textarea>
还有一种方式:
function textCounter(field, maxlimit) {
if (field.value.length > maxlimit){
field.value = field.value.substring(0, maxlimit);
}else{
document.upbook.remLen.value = maxlimit - field.value.length;
}
}
<textarea name=words cols=19 rows=5 class=input1 onPropertyChange= "textCounter(upbook.words, 50) "> textarea>
剩余字数: <input name=remLen type=text id= "remLen " style= "background-color: #D4D0C8; border: 0; color: red " value=50 size=3 maxlength=3 readonly>
function LimitTextArea(field){
maxlimit=200;
if (field.value.length > maxlimit)
field.value = field.value.substring(0, maxlimit);
}
<textarea cols=50 rows=10 name="comment" id="commentarea" onKeyDown="LimitTextArea(this)" onKeyUp="LimitTextArea(this)" onkeypress="LimitTextArea(this)" ></textarea>
title="The textarea width must less than 300 characters." 放在textarea 里面提示输入最大字节数。
例如:<textarea title="The textarea width must less than 300 characters." cols=50 rows=10 name="comment" id="commentarea" onKeyDown="LimitTextArea(this)" onKeyUp="LimitTextArea(this)" onkeypress="LimitTextArea(this)" ></textarea>
从网上摘抄来的,希望对大家有帮助哦~~
textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到。与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求。
通常的做法就是使用#脚本语言来实现对textarea文本域的字数输入限制,简单而实用。假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为10个字(汉字或其他小角字符):
<script language="#" 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 onpropertychange="if(value.length>100) value=value.substr(0,100)" class="smallArea" cols="60" name="txta" rows="8"></textarea>
当然,为了更为保险,处理表单数据的后台脚本程序还应该对提交来的数据进行再一次的检测,如果字数超出预设的数量则进行相应处理,这样才达到真正限制字数的目的。(完)
另外一种方法实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个)
<script>
function check() {
var regC = /[^ -~]+/g;
var regE = /\D+/g;
var str = t1.value;
if (regC.test(str)){
t1.value = t1.value.substr(0,10);
}
if(regE.test(str)){
t1.value = t1.value.substr(0,20);
}
}
</script>
<textarea maxlength="10" id="t1" onkeyup="check();">
</textarea>
还有一种方式:
function textCounter(field, maxlimit) {
if (field.value.length > maxlimit){
field.value = field.value.substring(0, maxlimit);
}else{
document.upbook.remLen.value = maxlimit - field.value.length;
}
}
<textarea name=words cols=19 rows=5 class=input1 onPropertyChange= "textCounter(upbook.words, 50) "> textarea>
剩余字数: <input name=remLen type=text id= "remLen " style= "background-color: #D4D0C8; border: 0; color: red " value=50 size=3 maxlength=3 readonly>
function LimitTextArea(field){
maxlimit=200;
if (field.value.length > maxlimit)
field.value = field.value.substring(0, maxlimit);
}
<textarea cols=50 rows=10 name="comment" id="commentarea" onKeyDown="LimitTextArea(this)" onKeyUp="LimitTextArea(this)" onkeypress="LimitTextArea(this)" ></textarea>
title="The textarea width must less than 300 characters." 放在textarea 里面提示输入最大字节数。
例如:<textarea title="The textarea width must less than 300 characters." cols=50 rows=10 name="comment" id="commentarea" onKeyDown="LimitTextArea(this)" onKeyUp="LimitTextArea(this)" onkeypress="LimitTextArea(this)" ></textarea>
从网上摘抄来的,希望对大家有帮助哦~~
发表评论
-
XMLhttpRequest请求XML,JSON,POJO数据(完整的ajax前后台交互代码)
2013-01-31 15:12 1051XMLhttpRequest 请求 XML,JSON ,PO ... -
js 控制文本框只能输入中文、英文、数字等
2013-01-31 15:08 490总而言之:先在<input> ... -
select option操作大全
2013-01-25 17:22 708<html><head><me ... -
项目开发中的common.js
2013-01-23 13:26 790pageLoadFinish = false; funct ... -
用纯javascript写的异步调用js文件xmlcommon.js三
2013-01-22 13:23 676后台代码: 1.AjaxUtil.java packag ... -
用纯javascript写的异步调用js文件xmlcommon.js二
2013-01-22 13:19 598function newXMLHttpRequest(){ ... -
用纯javascript写的异步调用js文件xmlcommon.js一
2013-01-22 13:18 708在页面调用方式: 1)<script langua ... -
javascript的MVC模式
2013-01-14 12:31 518原文:Model-View-Controller (MVC) ... -
javascript-DOM操作基础
2013-01-06 09:55 5341.节点(node)层次 Document--最顶层的节点, ... -
防止select事件累加的js操作
2013-01-05 17:29 730<%@ page contentType="t ... -
判断是否为数字或者小数
2013-01-04 10:57 460function isNumChk(str){ var r ... -
JsTestDriver library(JavaScript 单元测试框架)
2012-12-28 10:58 639一个损坏的 JavaScript 代码示例 Web 应用程序 ... -
纯javascript写的动态添加删除行
2012-12-24 15:25 523<div id="testR"> ...
相关推荐
实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个) textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到。与单行文本框text控件不同,它不能通过...
angularjs实现textarea文本输入字数限制功能
jQuery textarea文本框输入文字字数限制提示代码,设置固定输入字符,实时计算显示已经输入多少字符。
自己写的一个小东西 前段时间自己要用在网上下载了一个 不过不好用,自己就写了一个 自我感觉还不错,而且对于限制输入的东西可以根据不同的情况自己修改,方便大家 方便你我他!
NULL 博文链接:https://diaoweili.iteye.com/blog/774179
//显示限制输入字符method function textAreaChange(obj){ var $this = $(obj); var count_total = $this.next().children('span').text(); var count_input = $this.next().children('em'); var area_...
非常推荐的效果超酷的textarea的输入字数限提示
本文实例讲述了jquery实现textarea输入框限制字数的方法。分享给大家供大家参考。具体分析如下: 网上有使用属性 disabled 来实现,这个不好,想修改都没有修改。当然,这个也不是很完美。 代码如下:<html> &...
jquery怎么实现限制textarea输入的字数呢?有需要的朋友可以参考一下我写的例子,当然如果有误,也希望大家能及时指出来,大家共同学习进步。 <!DOCTYPE html> <html lang="en"> <head> <meta ...
大家可能都遇到过在输入的时候做出限制的需求,本文介绍的是通过Angular.js限制textarea输入字数的方法,有需要的朋友们可以参考以下实例。 实例代码如下 <!DOCTYPE html> <html> <head> <meta ...
下面小编就为大家带来一篇Textarea输入字数限制实例(兼容iOS&安卓)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
控制textarea文本长度,限制输入字数(带统计)的特效! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/
JS控制文本框textarea输入字数限制的方法,需要的朋友可以参考一下
文件、文件夹加密后,双击它,会弹出密码输入对话框,只有输入正确的密码才能打开该文件。使用完毕退出以后,它自动恢复到加密状态,无需再加密。把文件夹和文件直接加密成Exe可执行文件。你可以将重要的数据以这种...
基于jquery的textarea发布框限制文字字数输入(添加中文识别),需要的朋友可以参考下