| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4477 人关注过本帖
标题:javascript控制文本框输入字符个数的问题
只看楼主 加入收藏
菜鸟也疯狂
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2007-3-20
收藏
 问题点数:0 回复次数:5 
javascript控制文本框输入字符个数的问题
我想通过javascript控制一个文本框,只能输入10个数字,英文字母或半角字符,5个汉字或全角字符。这是我写的一个javascript测试脚本(可直接复制调试):
<input name="test" onkeyup="strLen(name,value,10)">  
<SCRIPT LANGUAGE=javascript>
<!--
function strLen(name,value,length){
    
    if(value.replace(/[^\x00-\xff]/g,"xx").length>=length)
    {
        var html = "<input name='"+name+"' onkeyup='strLen(name,value,"+length+")' value='"+value+"' maxlength='"+value.length+"'>"
        document.all(name).outerHTML = html;
        //alert(html);
    }
}
//-->  
</SCRIPT>
可是这样写英文和数字的输入都没有问题,中文输入就有问题了。当输入5个中文以后,继续输入中文,输入的内容竟然跑到文本框外面去了(请看附件)。希望高手们帮我看看,或者有更好的方法,也请不吝赐教。

[[it] 本帖最后由 菜鸟也疯狂 于 2008-10-27 09:30 编辑 [/it]]

test.jpg (3.73 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: javascript 文本 字符 输入 
2008-10-27 09:21
zsl5566
Rank: 1
来 自:泉州
等 级:新手上路
帖 子:163
专家分:0
注 册:2006-12-12
收藏
得分:0 
一个中文有两个字节,,你那边的长度控制为10,其他的自然会超出

不要给准备要做的事寻找失败的理由~~
2008-11-27 15:05
zsl5566
Rank: 1
来 自:泉州
等 级:新手上路
帖 子:163
专家分:0
注 册:2006-12-12
收藏
得分:0 
[\u0391-\uFFE5]这是判断中文

不要给准备要做的事寻找失败的理由~~
2008-11-27 15:07
liang198207
Rank: 5Rank: 5
等 级:职业侠客
帖 子:70
专家分:300
注 册:2011-5-10
收藏
得分:0 
中英文分开吧,虽然你用正则式统一了长度,但是你输出的时候后面那个输出maxlength定义的是10,这控制不住的。而且你这个写法可以直接打上10个以上的字符,不会被删除。
2011-05-11 03:47
liang198207
Rank: 5Rank: 5
等 级:职业侠客
帖 子:70
专家分:300
注 册:2011-5-10
收藏
得分:0 
闹不清楚了,我折腾了半天了,必须分开才好实现,不然就是你这样前面是5个后面就可以无限输入,因为他跟你的程序不冲突。
2011-05-11 03:49
快速回复:javascript控制文本框输入字符个数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016507 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved