JS与jQuery判断文本框还剩多少字符可以输入的方法


Posted in jQuery onSeptember 01, 2018

本文实例讲述了JS与jQuery判断文本框还剩多少字符可以输入的方法。分享给大家供大家参考,具体如下:

javascript部分:

function $(id) {
  return document.getElementById(id);
}
var maxLen=255;
function checkMaxInput(){
  if($("summary").value.length>maxLen){
    $("summary").value=$("summary").value.substring(0,maxLen);
  }else{
    $("leaves").innerHTML=maxLen-$("summary").value.length;
  }
}

HTML部分:

<tr>
 <td>摘要:</td>
 <td>
  <html:textarea property="summary" rows="5" cols="60" onkeyup="checkMaxInput()"/>
  <br>
   还可以输入<span class="red" id="leaves">255</span>个字符
  </td>
</tr>

jQuery插件textlimit实现Javascript统计和限制字符个数功能

使用jQuery插件textlimit可以实现统计和限制字符个数功能,可应用于文本框与文本区域,当输入文字时textlimit插件会及时统计当前文本框与文本区域中的字符个数,如果达到限制数则不允许输入,同时可设置字符删除速度,

使用实例

一、包含文件部分

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="textlimit.js"></script>

二、HTML部分

<input type="text" name="test" value="" id="test" /><span>20</span>/256

三、Javascript部分

<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#test").textlimit("span",256);
});
</script>

当在ID为test的文本框中输入文字时,textlimit插件统计当前输入字符个数并显示在一个span的元素中,如上效果图,textlimit接口如下:

textlimit(counter_el, thelimit, speed)

接口参数说明:

  • counter_el表示显示当前统计个数的选择器标签,如:span
  • thelimit表示限制个数,也就是最多可输入的个数,如:256
  • speed表示删除字符速度,默认为15,注意,如果不需要可设置为-1,但不能是0

注意:英文字符与汉字字符都统计为一个字符

textlimit插件统计和限制字符数非常简单,具体大家可以看看textlimit的库文件,非常值得推荐。

/*
 * TextLimit - jQuery plugin for counting and limiting characters for input and textarea fields
 *
 * pass '-1' as speed if you don't want the char-deletion effect. (don't just put 0)
 * Example: jQuery("Textarea").textlimit('span.counter',256)
 *
 * $Version: 2009.07.25 +r2
 * Copyright (c) 2009 Yair Even-Or
 * vsync.design@gmail.com
*/
(function(jQuery) {
  jQuery.fn.textlimit=function(counter_el, thelimit, speed) {
    var charDelSpeed = speed || 15;
    var toggleCharDel = speed != -1;
    var toggleTrim = true;
    var that = this[0];
    var isCtrl = false;
    updateCounter();
    function updateCounter(){
      if(typeof that == "object")
        jQuery(counter_el).text(thelimit - that.value.length+" characters remaining");
    };
    this.keydown (function(e){
      if(e.which == 17) isCtrl = true;
      var ctrl_a = (e.which == 65 && isCtrl == true) ? true : false; // detect and allow CTRL + A selects all.
      var ctrl_v = (e.which == 86 && isCtrl == true) ? true : false; // detect and allow CTRL + V paste.
      // 8 is 'backspace' and 46 is 'delete'
      if( this.value.length >= thelimit && e.which != '8' && e.which != '46' && ctrl_a == false && ctrl_v == false)
        e.preventDefault();
    })
    .keyup (function(e){
      updateCounter();
      if(e.which == 17)
        isCtrl=false;
      if( this.value.length >= thelimit && toggleTrim ){
        if(toggleCharDel){
          // first, trim the text a bit so the char trimming won't take forever
          // Also check if there are more than 10 extra chars, then trim. just in case.
          if ( (this.value.length - thelimit) > 10 )
            that.value = that.value.substr(0,thelimit+100);
          var init = setInterval
            (
              function(){
                if( that.value.length <= thelimit ){
                  init = clearInterval(init); updateCounter()
                }
                else{
                  // deleting extra chars (one by one)
                  that.value = that.value.substring(0,that.value.length-1); jQuery(counter_el).text('Trimming... '+(thelimit - that.value.length));
                }
              } ,charDelSpeed
            );
        }
        else this.value = that.value.substr(0,thelimit);
      }
    });
  };
})(jQuery);
jQuery 相关文章推荐
jQuery加密密码到cookie的实现代码
Apr 18 jQuery
jQuery实现web页面樱花坠落的特效
Jun 01 jQuery
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
jQuery实现IE输入框完成placeholder标签功能的方法
Sep 20 jQuery
jQuery实现鼠标移到某个对象时弹出显示层功能
Aug 23 jQuery
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
jquery分页插件pagination使用教程
Oct 23 jQuery
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
Jquery Datatables的使用详解
Jan 30 jQuery
jquery更改元素属性attr()方法操作示例
May 22 jQuery
JQuery插件tablesorter表格排序实现过程解析
May 28 jQuery
jQuery解析json格式数据示例
Sep 01 #jQuery
jQuery实现表格隔行换色
Sep 01 #jQuery
基于jQuery ztree实现表格风格的树状结构
Aug 31 #jQuery
解决jQuery使用append添加的元素事件无效的问题
Aug 30 #jQuery
jQuery实现的简单手风琴效果示例
Aug 29 #jQuery
jQuery实现的淡入淡出图片轮播效果示例
Aug 29 #jQuery
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 #jQuery
You might like
php简单提示框alert封装函数
2010/08/08 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
vue.js 添加 fastclick的支持方法
2018/08/28 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
HTML5 解析规则分析
2009/08/14 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
主题酒店策划书
2014/01/28 职场文书
家长会学生演讲稿
2014/04/26 职场文书
学前班评语大全
2014/05/04 职场文书
2014年实验室工作总结
2014/12/03 职场文书