怎么判断字符串的字符数,中文算两个的

sirzxj 2011-08-30 09:25:50
如题i?
...全文
192 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
restring 2011-08-30
  • 打赏
  • 举报
回复
function getChineseCharLen(str){
var count=0;
for(var i=0;i<str.length;i++){
var charCode=str.charCodeAt(i);
if(charCode>128){
count+=1;
}
}
return count;
}

字符串的实际长度= str.length+getChineseCharLen(str);
bigbluefox 2011-08-30
  • 打赏
  • 举报
回复
7楼见解不敢苟同,其他几楼都差不多,有没有简洁 的方式?
天祈 2011-08-30
  • 打赏
  • 举报
回复
javascript默认Unicode编码,统一起见所有字符都是2个字节
除非你是英文操作系统,可能出现字母一个字节,汉字两个
001007009 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sirzxj 的回复:]
JScript code

onload = function(){
var str ="中国good";
alert(getStrLength(str));
}

function getStrLength(str){
……
[/Quote]


function getStrLength(str){
var len =0,temp=0;
str = str.split('');
for(var j=0;j<str.length;j++){
temp = 1;
if(/^[\u2E80-\u9FFF]+$/.test(str[j])){
temp = 2;
}
len += temp;
}
return len;
}
ZXY900213 2011-08-30
  • 打赏
  • 举报
回复
<script type="text/javascript">
String.prototype.lengths = function() { return this.replace(/[^\x00-\xff]/g, "**").length }
document.onload=function(){
var str ="中国good";
alert(str.lengths);
}
</script>

sirzxj 2011-08-30
  • 打赏
  • 举报
回复

onload = function(){
var str ="中国good";
alert(getStrLength(str));
}

function getStrLength(str){
var len =0,temp=0;
for(var j=0;j<str.length;j++){
temp = 1;
if(/^[\u2E80-\u9FFF]+$/.test(str[j])){
temp = 2;
}
len += temp;
}
return len;
}

ZXY900213 2011-08-30
  • 打赏
  • 举报
回复
String.prototype.lengths = function() { return this.replace(/[^\x00-\xff]/g, "**").length }

alert("aa弟大勿勃aa".lengths);//12
三石-gary 2011-08-30
  • 打赏
  • 举报
回复
var a="hello"; a.length就表示a的字符串个数
三石-gary 2011-08-30
  • 打赏
  • 举报
回复
var a="hello"; a.length就表示a的字符串个数

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧