自定义计算字符长度,中文占2

本文提供了两种方法来计算包含中文字符的字符串长度,在ASP和JavaScript中分别实现。中文字符被视为两个字符长度。

ASP

 

<% 
' getStrLen
'
获取字符长度,一个中文字符长度算 2
'
参数:
'
str 需要获取长度的字符串
'
返回值:整数 (字符串的长度)
'
----------------------------------------------------------------'
Function GetStrLen(str)
If IsNull(str) Or str = "" Then
getStrLen
= 0
Else
Dim i, n, k, chrA
k
= 0
n
= Len(str)
For i = 1 To n
chrA
= Mid(str, i, 1)
If Asc(chrA) >= 0 And Asc(chrA) <= 255 Then
k
= k + 1
Else
k
= k + 2
End If
Next
getStrLen
= k
End If
End Function

response.write GetStrLen(
"123456789我们21")

%
>

 


javascript

 

<script>
// 功能:计算字符串长度
//
传入参数:
//
value: 要进行检查的字符串
//
传出结果: 字符串长度(如果是汉字,那么一个汉字的长度是2)
function GetStrLen(value)
{
var str,Num = 0;
for (var i=0;i {
str
= value.substring(i,i+1);
if (str<="~") //对双字节字特殊处理
Num+=1;
else
Num
+=2;
}
return Num;
}
</script>

转载于:https://www.cnblogs.com/jclser/archive/2008/10/21/1315557.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值