ASP如何限定中英文混合的文字输出字数?
 1![]() <%
<%
2![]() ' 字符串截取函数,用于信息标题
' 字符串截取函数,用于信息标题 
3![]() ' strWord需要截取的字符串
' strWord需要截取的字符串 
4![]() ' intByteLength显示的字节长度,1个汉字两个字节
' intByteLength显示的字节长度,1个汉字两个字节 
5![]() ' intPadDotAmount背截取后尾部补充点的个数
' intPadDotAmount背截取后尾部补充点的个数 
6![]() ' 字符串截取函数,用于信息标题
' 字符串截取函数,用于信息标题 
7![]() Function FixString(ByVal strWord, ByVal intByteLength, ByVal intPadDotAmount)
Function FixString(ByVal strWord, ByVal intByteLength, ByVal intPadDotAmount) 
8![]() If strWord > "" Then
        If strWord > "" Then 
9![]() If Length(strWord) <= intByteLength Then
                If Length(strWord) <= intByteLength Then 
10![]() FixString = strWord
                        FixString = strWord 
11![]() Else
                Else 
12![]() Dim i
                        Dim i 
13![]() Dim intLength
                        Dim intLength 
14![]() Dim strChar
                        Dim strChar 
15![]() Dim bytChar
                        Dim bytChar 
16![]() intLength = 0
                        intLength = 0 
17![]() For i = 1 to Len(strWord)
                        For i = 1 to Len(strWord) 
18![]() strChar = Mid(strWord, i, 1)
                                strChar = Mid(strWord, i, 1) 
19![]() bytChar = Asc(Mid(strWord, i, 1))
                                bytChar = Asc(Mid(strWord, i, 1)) 
20![]() If bytChar < 0 or bytChar > 255 Then
                                If bytChar < 0 or bytChar > 255 Then 
21![]() intLength = intLength + 2
                                        intLength = intLength + 2 
22![]() Else
                                Else 
23![]() intLength = intLength + 1
                                        intLength = intLength + 1 
24![]() End If
                                End If 
25![]() If intLength > intByteLength Then Exit For
                                If intLength > intByteLength Then Exit For 
26![]() FixString = FixString & strChar
                                FixString = FixString & strChar 
27![]() Next
                        Next 
28![]() FixString = FixString & String(intPadDotAmount, ".")
                        FixString = FixString & String(intPadDotAmount, ".") 
29![]() End If
                End If 
30![]() Else
        Else 
31![]() FixString = ""
                FixString = "" 
32![]() End If
        End If 
33![]() End Function
End Function 
34![]() ' 计算字符串长度,1个汉字为两个字节
' 计算字符串长度,1个汉字为两个字节 
35![]() Function Length(ByVal strWord)
Function Length(ByVal strWord) 
36![]() If strWord > "" Then
        If strWord > "" Then 
37![]() Dim i, bytChar
                Dim i, bytChar 
38![]() Length = 0
                Length = 0 
39![]() For i = 1 to Len(strWord)
                For i = 1 to Len(strWord) 
40![]() bytChar = Asc(Mid(strWord, i, 1))
                        bytChar = Asc(Mid(strWord, i, 1)) 
41![]() If bytChar < 0 or bytChar > 255 Then Length = Length + 2 Else Length = Length + 1
                        If bytChar < 0 or bytChar > 255 Then Length = Length + 2 Else Length = Length + 1 
42![]() Next
                Next 
43![]() Else
        Else 
44![]() Length = -1
                Length = -1 
45![]() End If
        End If 
46![]() End Function
End Function
47![]() content= FixString("测试,.ba我实,<>",10,0)
content= FixString("测试,.ba我实,<>",10,0)
48![]() response.Write(content)
response.Write(content)
49![]() %>
%>
 <%
<%2
 ' 字符串截取函数,用于信息标题
' 字符串截取函数,用于信息标题 3
 ' strWord需要截取的字符串
' strWord需要截取的字符串 4
 ' intByteLength显示的字节长度,1个汉字两个字节
' intByteLength显示的字节长度,1个汉字两个字节 5
 ' intPadDotAmount背截取后尾部补充点的个数
' intPadDotAmount背截取后尾部补充点的个数 6
 ' 字符串截取函数,用于信息标题
' 字符串截取函数,用于信息标题 7
 Function FixString(ByVal strWord, ByVal intByteLength, ByVal intPadDotAmount)
Function FixString(ByVal strWord, ByVal intByteLength, ByVal intPadDotAmount) 8
 If strWord > "" Then
        If strWord > "" Then 9
 If Length(strWord) <= intByteLength Then
                If Length(strWord) <= intByteLength Then 10
 FixString = strWord
                        FixString = strWord 11
 Else
                Else 12
 Dim i
                        Dim i 13
 Dim intLength
                        Dim intLength 14
 Dim strChar
                        Dim strChar 15
 Dim bytChar
                        Dim bytChar 16
 intLength = 0
                        intLength = 0 17
 For i = 1 to Len(strWord)
                        For i = 1 to Len(strWord) 18
 strChar = Mid(strWord, i, 1)
                                strChar = Mid(strWord, i, 1) 19
 bytChar = Asc(Mid(strWord, i, 1))
                                bytChar = Asc(Mid(strWord, i, 1)) 20
 If bytChar < 0 or bytChar > 255 Then
                                If bytChar < 0 or bytChar > 255 Then 21
 intLength = intLength + 2
                                        intLength = intLength + 2 22
 Else
                                Else 23
 intLength = intLength + 1
                                        intLength = intLength + 1 24
 End If
                                End If 25
 If intLength > intByteLength Then Exit For
                                If intLength > intByteLength Then Exit For 26
 FixString = FixString & strChar
                                FixString = FixString & strChar 27
 Next
                        Next 28
 FixString = FixString & String(intPadDotAmount, ".")
                        FixString = FixString & String(intPadDotAmount, ".") 29
 End If
                End If 30
 Else
        Else 31
 FixString = ""
                FixString = "" 32
 End If
        End If 33
 End Function
End Function 34
 ' 计算字符串长度,1个汉字为两个字节
' 计算字符串长度,1个汉字为两个字节 35
 Function Length(ByVal strWord)
Function Length(ByVal strWord) 36
 If strWord > "" Then
        If strWord > "" Then 37
 Dim i, bytChar
                Dim i, bytChar 38
 Length = 0
                Length = 0 39
 For i = 1 to Len(strWord)
                For i = 1 to Len(strWord) 40
 bytChar = Asc(Mid(strWord, i, 1))
                        bytChar = Asc(Mid(strWord, i, 1)) 41
 If bytChar < 0 or bytChar > 255 Then Length = Length + 2 Else Length = Length + 1
                        If bytChar < 0 or bytChar > 255 Then Length = Length + 2 Else Length = Length + 1 42
 Next
                Next 43
 Else
        Else 44
 Length = -1
                Length = -1 45
 End If
        End If 46
 End Function
End Function47
 content= FixString("测试,.ba我实,<>",10,0)
content= FixString("测试,.ba我实,<>",10,0)48
 response.Write(content)
response.Write(content)49
 %>
%> 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号