zoukankan      html  css  js  c++  java
  • 精确控制输入框的中英文输入字数

        <script language="javascript" type="text/javascript">
        <!--
       
    function limitLength(value, byteLength, attribute)
    {
           var newvalue = value.replace(/[^\x00-\xff]/g, "**");
           var length = newvalue.length;
     
           //当填写的字节数小于设置的字节数
          if (length * 1 <=byteLength * 1)
          {
                return;
          }
          var limitDate = newvalue.substr(0, byteLength);
          var count = 0;
          var limitvalue = "";
         for (var i = 0; i < limitDate.length; i++)
         {
                 var flat = limitDate.substr(i, 1);
                if (flat == "*")
                 {
                      count++;
                }
         }
         var size = 0;
         var istar = newvalue.substr(byteLength * 1 - 1, 1);//校验点是否为“×”
      
        //if 基点是×; 判断在基点内有×为偶数还是奇数 
         if (count % 2 == 0)
         {
                  //当为偶数时
                size = count / 2 + (byteLength * 1 - count);
                limitvalue = value.substr(0, size);
        }
         else
        {
                //当为奇数时
                size = (count - 1) / 2 + (byteLength * 1 - count);

            limitvalue = value.substr(0, size);
        }
        alert("最大输入" + byteLength + "个字节(相当于"+byteLength /2+"个汉字)!");
        document.getElementById(attribute).value = limitvalue;
        //document.getElementById("msg").innerHTML= byteLength;
       return;
    }

       
        //-->
        </script>

    <asp:TextBox runat="server" ID="txtComment" Height="77px"
                ontextchanged="txtComment_TextChanged" TextMode="MultiLine" Width="307px"></asp:TextBox>
                <textarea runat="server" cols="50" rows="10" name="explain" id="explain"></textarea>

    在后台page_load中加入:

     explain.Attributes["onpropertychange"] = "limitLength(this.value,10,'explain')";

    完整的页面前台代码是:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>

    <!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>DropdownList</title>
        <script language="javascript" type="text/javascript">
        <!--
    function limitLength(value, byteLength, attribute)
    {
           var newvalue = value.replace(/[^\x00-\xff]/g, "**");
           var length = newvalue.length;
     
           //当填写的字节数小于设置的字节数
          if (length * 1 <=byteLength * 1)
          {
                return;
          }
          var limitDate = newvalue.substr(0, byteLength);
          var count = 0;
          var limitvalue = "";
         for (var i = 0; i < limitDate.length; i++)
         {
                 var flat = limitDate.substr(i, 1);
                if (flat == "*")
                 {
                      count++;
                }
         }
         var size = 0;
         var istar = newvalue.substr(byteLength * 1 - 1, 1);//校验点是否为“×”
      
        //if 基点是×; 判断在基点内有×为偶数还是奇数 
         if (count % 2 == 0)
         {
                  //当为偶数时
                size = count / 2 + (byteLength * 1 - count);
                limitvalue = value.substr(0, size);
        }
         else
        {
                //当为奇数时
                size = (count - 1) / 2 + (byteLength * 1 - count);

            limitvalue = value.substr(0, size);
        }
        alert("最大输入" + byteLength + "个英文(或"+byteLength /2+"个汉字)!");
        document.getElementById(attribute).value = limitvalue;
        //document.getElementById("msg").innerHTML= byteLength;
       return;
    }

       
        //-->
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
       
                <textarea runat="server" cols="50" rows="10" name="explain" id="explain"></textarea>

        </form>
           
        </body>
    </html>

  • 相关阅读:
    按输入行数,输出对应的倒等腰三角形星星
    按输入行、列数,输出对应的矩形星星
    运算程序,计算玩判断,Y继续,重复计算,N结束
    输入年 月 日 ,计算时该年的第几天
    for计算100以内的奇数和
    创建一个Android项目
    菜鸟大充电啦啦啦啦啦:百度上的安卓学习资料以及我的视频学习资料
    菜鸟大充电啦啦啦啦啦:eclipse SDK 是什么啊
    学习过程的记录:实验室电脑上的jdk环境变量
    WHAT is CPU负载?
  • 原文地址:https://www.cnblogs.com/chinafine/p/1257237.html
Copyright © 2011-2022 走看看