asp.net限制文本框字数并显示剩余字数

以下代码是直接从vs2005开发环境下复制过来的.可以直接复制过去运行.
这个程序在处理汉字的时候还存在一点问题.就是限定了120个字符,60个汉字,但有可能就只能输入55个,很奇怪,正在找原因.以后会更新过来.如有高手看到,也请帮忙改改...谢谢.....

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <script type="text/javascript">
    function fucCheckLength(strTemp)
     {
     var i,sum;
     sum=0;
     for(i=0;i<strTemp.length;i++)
  {
   if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
    sum=sum+1;
   else
    sum=sum+2;
  }
  return sum;
 }
        function ShowLeft(){
 var LenString,LenStringI,Strings;
 LenString=fucCheckLength(document.getElementById("TextBox1").value);
 LenStringI=LenString;
 if (LenString>120){
  alert("输入的字符长度不能超过120(汉字60个)!");
  Strings=document.getElementById("TextBox1").value;
  while(LenStringI>120){
   if ((Strings.charCodeAt(Strings.length)>=0) && (Strings.charCodeAt(Strings.length)<=255)){
    LenStringI=LenStringI-1;
   }
   else{
    LenStringI=LenStringI-2;
   }
   Strings=Strings.substring(0,(Strings.length-1));
  }
  document.getElementById("TextBox1").value=Strings;
  return false;
 }
 document.getElementById("Button1").value=250-LenString;
 
}
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server" Height="156px" TextMode="MultiLine" Width="326px" onKeyUp="return ShowLeft();"></asp:TextBox>
        <input id="Button1" type="button" value="120" />
        </div>
    </form>
</body>
</html>

posted @ 2007-07-25 16:43  星空竹月  阅读(770)  评论(0编辑  收藏  举报