免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2574 | 回复: 2
打印 上一主题 下一主题

[字符串] js中如何把中文判断成两个英文字符长? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-21 21:04 |只看该作者 |倒序浏览
今天才发觉新问题,
中文js也判断为一个字,因为是用的utf-8
这是个问题呀,比如我的会员名要求在4-16个英文字符,或2-8个中文字符,反正就是一个中文字符抵两英文,实际上在数据库中的字节也是这样的.
问题是我在表单中提交验证时,发觉js只把一个中文字当一个字符长,
比如
alert("测试".length)
结果是2


郁闷呀,难道要用正则之类把所有的中文分出来计算长度???这个可麻烦了哟.大家都我一个好办法,如果确要全部搜索出来单独算,正则如何写,我比较菜

[ 本帖最后由 HonestQiao 于 2005-12-22 09:06 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2005-12-21 23:33 |只看该作者
var str="a 45地方dd";
var i;
var num=0;
for(i=0;i<str.length;i++){
    num++;
    if(str.charCodeAt(i)>255)num++;
}
alert(num);

论坛徽章:
0
3 [报告]
发表于 2005-12-21 23:34 |只看该作者
function charCodeAt(index : Number) : String
返回一个整数,该整数表示 String 对象中指定位置处的字符的 Unicode 编码。
参数:index 必选。所需字符的从零开始的索引。有效值为 0 到字符串长度减 1 的数字。
备注:一个字符串中的第一个字符位于索引位置 0,第二个字符位于索引位置 1,依此类推。如果指定 index 没有字符,将返回 NaN。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP