在文本框中加入"maxlength=你所需要的字符长度"

解决方案 »

  1.   

    <Script language="Javascript" Runat="Server">
    /*
    =======================================================================================
     本程序段的功能:
     
     给定一个字符串,不管是英文还是中文,还是中英文混合的,只取前面的8个英文字母占位的宽度。
     关于该程序的说明:当最后一个字为中文,并且前面已经取得7位时,就不应该再取这个字了。再
     最后位置补空格; 否则的话,总共就会占9个英文字符的位置了。
     本程序由net_lover(孟子E章)编写,您可以任意使用本程序,但要保持本注释。
     有任何疑问请Email至: [email protected]
     欢迎访问:
     http://lucky.myrice.com
     http://colorweb.go.163.com
    =======================================================================================
    */
    function get8Length(str)

     var tmp = 0;
     var len = 0;
     var okLen = 0
     for(var i=0;i<8;i++)
     {
      if(str.charCodeAt(i)>255)
       tmp += 2 
      else
       len += 1
      okLen += 1
      if(tmp + len == 8) 
      {
       return (str.substring(0,okLen));
       break;
      }
      if(tmp + len > 8)
      {
       return (str.substring(0,okLen - 1) + "&nbsp;"); 
       break;
      }
     }
    }
    </Script>
    <Script language="vbscript" Runat="Server">
    Function Strlength(Str)
     Temp_Str=Len(Str)
     For I=1 To Temp_Str
      Test_Str=(Mid(Str,I,1))
      If Asc(Test_Str)>0 Then
       Strlength=Strlength+1
      Else
       Strlength=Strlength+2
      End If
     Next
    End Function
    </script>
    <%
    Dim strTest
    strTest = "我是孟子E章啊!!"
    response.write Strlength(StrTest)
    if Strlength(StrTest)>8 then
      Response.write get8Length(strTest) & "……<br/>"
    else
      Response.write get8Length(strTest) & "<br/>"
    end if
    strTest = "我是net"
    response.write Strlength(StrTest)
    if Strlength(StrTest)>8 then
      Response.write get8Length(strTest) & "……<br/>"
    else
      Response.write get8Length(strTest) & "<br/>"
    end if
    strTest = "I我a是m孟子E章啊!!"
    response.write Strlength(StrTest)
    if Strlength(StrTest)>8 then
      Response.write get8Length(strTest) & "……<br/>"
    else
      Response.write get8Length(strTest) & "<br/>"
    end if
    %>