CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

struts中textarea框限制输入字符长度的问题。(区分全角、半角)

楼主chtfallcn(hawk)2006-01-12 14:46:47 在 Java / Web 开发 提问

一个textarea   ,如何才能限制文本框中用户输入的字符数?  
  例如限制为10个,则输入第十一个字符时便不能输入。而且不能在字符满了的时候屏蔽键盘(例如:这个时候删除键应该是可以用的)  
  还有就是要实现全角和半角的识别。全角为2个字符,半角为一个字符。  
  当输入   'abcdefg啊'       后,不能输入一个汉字,只能输入一个半角字符。  
  问题点数:50、回复次数:12Top

1 楼dvictor(大学之道 在明明德)回复于 2006-01-12 14:58:42 得分 20

用prototype为String对象增加一个新方法   比如length2,找出字符串中有多少个汉字,然后将这个数字加上字符串的length的值就是你要的结果了。  
  String.prototype.length2   =   function()   {  
          var   cArr   =   this.match(/[^\x00-\xff]/ig);  
          return   this.length   +   (cArr   ==   null   ?   0   :   cArr.length);  
  }  
   
  然后在textarea的onkeypress或down事件里判断长度就可以了Top

2 楼chtfallcn(hawk)回复于 2006-01-12 15:30:16 得分 0

我是用onkeypress方法,但是得到的字符总是晚了一步。  
  例如:我在textarea中输入1时,得到的字符是null   ,第二次输入2时,得到的字符是1。  
  请问是怎么回事?怎样解决?Top

3 楼chtfallcn(hawk)回复于 2006-01-12 15:35:28 得分 0

找到解决的办法了,用setTimeout就可以了Top

4 楼chtfallcn(hawk)回复于 2006-01-12 16:26:05 得分 0

各位大哥救命啊!又遇到问题了:(  
  现在我把textarea限制为10个字符。我输入1234567890   或者   123456789   ,然后我切换输入法,输入   ‘啊’   ,结果前面的数字都没了,输入框内就剩下一个   ‘啊’   了。请问是什么原因阿?  
  Top

5 楼flyhxd(韓青)回复于 2006-01-12 17:18:36 得分 0

struts不是用validation作驗證的嗎?Top

6 楼chtfallcn(hawk)回复于 2006-01-13 10:14:10 得分 0

怎么没有高手来啊????  
  现在我把textarea限制为10个字符。我输入1234567890   或者   123456789   ,然后我切换输入法,输入   ‘啊’   ,结果前面的数字都没了,输入框内就剩下一个   ‘啊’   了。请问是什么原因阿?  
   
  难道输入法和javascript有什么冲突吗?Top

7 楼hax(海曦)回复于 2006-01-13 12:02:03 得分 10

某些情况下是会有冲突的。你换一下输入法和浏览器试试看。  
   
  另,限制长度你还是用input   type='text'比较简单,否则你要做好面对困难的思想准备。Top

8 楼chtfallcn(hawk)回复于 2006-01-13 13:11:31 得分 0

换成清华紫光输入法没有问题。  
  如果用input   type='text'应该怎样做才能够让text能够输入多行文字?Top

9 楼dlxu(脱离纯粹Coding阶段)回复于 2006-01-13 13:11:59 得分 10

不过好像别人可以通过鼠标的复制粘贴来达到输入超过长度的目的的Top

10 楼chtfallcn(hawk)回复于 2006-01-13 17:05:29 得分 0

text框(不是textarea)能不能输入多行数据阿?  
  我想用text框再试一试Top

11 楼chtfallcn(hawk)回复于 2006-01-13 17:28:04 得分 0

to:   hax(海曦)  
  input   type='text'   能不能输入多行数据阿?可以给个例子吗?Top

12 楼hax(海曦)回复于 2006-01-14 00:46:38 得分 10

input不能多行。Top

相关问题

  • 全角的字符转化为半角?
  • 字符串半角边全角
  • 半角字符变全角字符~~~~~~(所有的分)
  • 全角字符,半角字符 匹配查找问题
  • 如何将全角字符转化为半角字符?
  • 全角字符和半角字符装换
  • 怎样将文章中的半角字符转化为全角字符
  • 如何将全角的字符串转换成半角字符串?
  • 帮帮忙,半角字符(英文或数字)转成全角字符
  • 全角字符,半角字符 匹配查找问题 解决再给200

关键词

  • 字符
  • 输入法
  • 数字
  • 输入
  • 半角
  • textarea
  • 长度
  • carr
  • 全角
  • 请问

得分解答快速导航

  • 帖主:chtfallcn
  • dvictor
  • hax
  • dlxu
  • hax

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo