邀朋友种豆,一起分享吧
喜欢购买正品行货?那就去品牌街

JavaScript统计字符串中中文字符个数

来自:种豆 时间:2017-12-29 阅读:1138次 原文链接
文章搜集了几种统计字符串中文字数的Javascript及其它源代码
1.统计中文字数方法一<script>
String.prototype.tLength
=function(){
temp
=this.replace(/([^\x00-\xff])/g,"$1$1");
return temp.length
}
alert(
"中英Quiz".length)
alert(
"中英quiz".tLength())
</script>
2.另外一种思路统计中文字数方法    先去掉非中文字符,再返回length属性。函数以及测试代码如下:<script type="text/javascript">
function cLength(str){
  var reg
= /[^\u4E00-\u9FA5\uf900-\ufa2d]/g;
  //匹配非中文的正则表达式
  var temp = str.replace(reg,'');
  return temp.length;
}
var str
= "中文123";
document.write(str.length
+'<br />');
document.write(cLength(str));
</script>测试结果正确,中文两个,数字三个,如下: 5
2
3.将字符转为 ANSII 字符代码,如果其中数值 > 255 就表示是中文<script language="vbscript">
Function LeftStr(Str)
TextCount
= Len(Str) '得到整
For I = 1 To TextCount
MidTemp
= Mid(Str,I,1)'得到当前第I个字符
AscTemp = Asc(MidTemp)'得到当前第I个字符的ANSI代码
If AscTemp > 0 Then '判断英文
TextLen = TextLen + 1'累计当前长度(英文)
Else'判断中文
TextLen = TextLen + 2'累计当前长度(中文)
End If
Next
LeftStr
= TextLen '输出
End Function
msgbox
"""abcdefg""的长度为:"&leftstr("abcdefg")
msgbox
"""加上中文试试!""的长度为:" &leftstr("加上中文试试!")
</script>
4.有一个VbScript统计字符串中的中文个数<script language="VbScript">
Function StrLen(str,num)
Dim a,ce,strnum,bytes
strnum
=0
For i
=1 to len(str)
a
= Mid(str,i,1)
if asc(a)>255 or asc(a)<0 then
ce
=2
else
ce
=1
end
if
strnum
= strnum+ce
if strnum <= num*2 then
bytes
=bytes&a
else
bytes
=bytes&"..."
exit
for
end
if
Next

StrLen
= bytes

End Function
document.write StrLen(
"为什么会是这样呢.what? ",9)
document.write
"<br>"
document.write StrLen(
"what is your name?My name is jiangdi",9)
</script>


 
关于种豆 ┊ 联系我们 ┊ 免责声明 ┊ 发帖须知 ┊ 请提意见 ┊ 站点地图
本站为个人爱好兴趣分享网站,不代表本人观点,如有侵权请联系QQ3371650278进行处理
sowsoy.com 版权所有 Copyright©2010-2020 浙ICP备10212932号
Email:sowsoy#hotmail.com