ASP函数:支持中文的Len, Left, Right,如何让Len,Left,Right函数识别中文
4 Z2 |5 a9 h) S# ^7 p. C2 T
& j4 a$ W8 F s5 t 对中文识别为两个字符,ASCII码为一个,可用此函数代替Len,Left,Right函数
9 y8 K8 E0 [- N2 j4 s) ]8 U; t- C* N$ a4 R% z1 W* a+ m
示例:LenX("
中国ren") => "7"
?* e: s8 _1 `1 N. U( v
W9 v. R0 R7 K3 |' U LeftX("中国ren",4) => "中国"
8 Q! b6 ?+ x. v4 L2 F
5 D9 j5 B! u o' | RightX("中国ren",5) => "国ren"
4 q" N) t3 ?' X: p
+ s C" G! j* V N4 b9 ]" M 参数: String 字符串 Length 长度
y% z a9 v- b+ b5 o6 g. E
4 i- V9 T- i2 K+ y" h 返回:字符串长度,字符串,字符串
复制内容到剪贴板
代码:
Public Function LenX(ByVal sString)
Dim reslult, lngStringLen, strCharString, i
lngStringLen = Len(sString)
strCharString = ""
for i = 1 to lngStringLen
strCharString = Mid(sString, i, 1)
if Asc(strCharString) > 0 then reslult= reslult+ 1 else reslult= reslult+ 2
next
LenX= reslult
End Function
Public Function strLeft(ByVal sString, ByVal lLength)
if isBlank(sString) or lLength < 1 then Exit Function
Dim result, lngStringLength, strCharString, lngCounter ,i
lngStringLength = Len(sString)
result = ""
for i = 1 to lngStringLength
strCharString = Mid(sString, i, 1)
result = result & strCharString
if Asc(strCharString) > 0 then lngCounter = lngCounter + 1 else lngCounter = lngCounter + 2
if lngCounter >= lLength then Exit For
next
strLeft = result
End Function
Public Function strRight(ByVal sString, ByVal lLength)
if isBlank(sString) or lLength < 1 then Exit Function
Dim result, lngStringLength, strCharString, lngCounter, i
lngStringLength = Len(sString)
result = ""
for i = lngStringLength to 1 step -1
strCharString = Mid(sString, i, 1)
result = strCharString & result
if Asc(strCharString) > 0 then lngCounter = lngCounter + 1 else lngCounter = lngCounter + 2
if lngCounter >= lLength then Exit For
next
strRight = result
End Function