关于文本限制字数的js代码

做项目时自己写一段js给大家。关于文本限制字数的问题,在实际开发中经常用到;主要问题出现在对中文的限制,下面代码就解决关于限制字节数的校验问题;只要将此下代码保存到一个js文件中并引入到校验的页面中,便可使用!同时希望大家给与大力支持和宝贵意见,本人会在今后闲余之际,发表更多的好文章,谢谢!!
/*
 value: 值;
 byteLength:数据库字节长度
 title:字段中文名称
 attribute:属性名称
 使用方法说明:
添加 (1) onkeyup="limitLength(this.value,100,'名称','name')"
          (2)  id="name" 或【struts标签】styleId="name"
 注意:id名称和 attribute属性名称要一样
 例子:<textarea  name="explain" id="explain" onkeyup="limitLength(value,5,'语义说明','explain')" > 
 或
<input type="text"   name="explain"  id="explain" onkeyup="limitLength(value,5,'语义说明','explain')" >
*/
function limitLength(value, byteLength, title, 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(title + "最大输入" + byteLength + "个字节(相当于"+byteLength /2+"个汉字)!");
   document.getElementById(attribute).value = limitvalue;
   return;
}

(0)

相关推荐

  • JS控制文本框textarea输入字数限制的方法

    复制代码 代码如下: <html>     <head>     <title>JS限制Textarea文本域字符个数</title>     <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />     <SCRIPT LANGUAGE="JavaScript">     <!--

  • 关于JavaScript限制字数的输入框的那些事

    前言 最近产品需要做不少输入框,产品想要的交互效果是:用户可以输入中英文,随着用户输入能实时显示已经输入的字符个数,当超过数量限制时输入框边框变红,同时给用户提示信息. 这交互听起来没啥问题,技术实现上似乎也没啥难点.但是当我实现出来以后遇到中文输入法就有坑了. 怎么个坑呢,且看下文~~ 实时监测输入框内容长度所遇到的坑使用 oninput事件来监听 使用这个oninput事件的好处有2个: 当用户通过右键复制改变输入框内容时,可以监听到: 只有在输入框内容发生变化时才会触发此事件,比如用户按下

  • javascript textarea字数限制

    这一个是读取textarea的maxlength属性的值,进行计算,思路很好,但修改起来就麻烦啊,不过对于js爱好者来说是个不错的参考,通过读取属性值进行控制. textarea字数限制 练习代码多有参考网络 by ahuinan var TextUtil = new Object(); TextUtil.NotMax = function(oTextArea){ var maxText = oTextArea.getAttribute("maxlength"); if(oTextAr

  • 关于文本限制字数的js代码

    做项目时自己写一段js给大家.关于文本限制字数的问题,在实际开发中经常用到:主要问题出现在对中文的限制,下面代码就解决关于限制字节数的校验问题:只要将此下代码保存到一个js文件中并引入到校验的页面中,便可使用!同时希望大家给与大力支持和宝贵意见,本人会在今后闲余之际,发表更多的好文章,谢谢!! /*  value: 值:  byteLength:数据库字节长度  title:字段中文名称  attribute:属性名称  使用方法说明: 添加 (1) onkeyup="limitLength(t

  • 页面版文本框智能提示JS代码

    于是这code便诞生了,如下: 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> <script type="text/javascript" language="javascript"> var currentIndex=

  • 刷新时清空文本框内容的js代码

    在做注册页面(.htm静态格式)时, 我想在刷新时(如F5,而不是提交表单后的返回)把开始输入文本框的内容清空 要怎么做呢? 只有密码框可以,其它的框默认保留了开始输入的信息 复制代码 代码如下: <body onload="document.forms[0].reset()">

  • 鼠标滚轴控制文本框值的JS代码

    复制代码 代码如下: <html> <head> <title></title> <script type="text/javascript" language="javascript"> /*根据获得焦点的时候给setVal给值*/     var setVal;       var bool = false;         var scrollFunc=function(e){          va

  • js实时监控文本框输入字数的实例代码

    需求:实时监控文本输入框的字数,并加以限制 1.实时监控当前输入字数,直接使用onkeyup事件方法,给输入框加maxlength属性限制长度.如: <div> <textarea id="txt" maxlength="10"></textarea> <p><span id="txtNum">0</span>/10</p> </div> var tx

  • 基于jQuery的计算文本框字数的代码

    一.功能: 1.用户边输入计算同时进行,告诉用户还剩余多少可输入的字数; 2.当超过规定的字数后,点击确定,会让输入框闪动 二.功能分析 1.重点是用什么事件? 标准浏览器用oninput,而IE则使用onpropertychange ,这两个事件的发生条件,是文本框的值发生改变. 2.字数的计算. 2.1一个中文算两个,一个符号或数字,英文,算一个.(如果是规定140个字,乘以2,那么就是280个) 2.2需要用到Math.ceil方法,因为最后还是要除以2来还原显示给用户的字数; 3.闪动背

  • 限制文本字节数js代码

    做项目时自己写一段js给大家.关于文本限制字数的问题,在实际开发中经常用到:主要问题出现在对中文的限制,下面代码就解决关于限制字节数的校验问题:只要将此下代码保存到一个js文件中并引入到校验的页面中,便可使用!同时希望大家给与大力支持和宝贵意见,本人会在今后闲余之际,发表更多的好文章,谢谢!! /*  value: 值:  byteLength:数据库字节长度  title:字段中文名称  attribute:属性名称  使用方法说明: 添加 (1) onkeyup="limitLength(t

  • 实时监控文本框输入字数的实例代码

    需求:实时监控文本输入框的字数,并加以限制 1.实时监控当前输入字数,直接使用onkeyup事件方法,给输入框加maxlength属性限制长度.如: <div> <textarea id="txt" maxlength="10"></textarea> <p><span id="txtNum">0</span>/10</p> </div> var tx

  • 文本框只能输入数字的js代码(含小数点)

    只能输入0-9多包括小数点 <html> <head> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <title>js 只能输入数字和小数点</title> <script language="JavaScript" type="text/javascript">

  • 鼠标焦点离开文本框时验证的js代码

    利用js来验证文本框的值 复制代码 代码如下: <script> function onblurs(){ if(frm.name.value==""){ alert("请输入您的名字!"); }else if(frm.funny.value==""){ alert("爱好不得为空哦!"); } } </script> <form name="frm"> <tr>

随机推荐