jQuery 限制输入字符串长度


Posted in Javascript onJune 20, 2016

我们后台做程序的时候,比如录入一篇文章,文章会有摘要,我们希望文章的字符长度是我们可以控制的,我们不希望它太长,比如限制只能输入250个字符,下面的代码实现了这种功能。

先来看一下效果图

jQuery 限制输入字符串长度

代码如下:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
(function ($) {
 // tipWrap: 提示消息的容器
 // maxNumber: 最大输入字符
 $.fn.artTxtCount = function (tipWrap, maxNumber) {
  var countClass = 'js_txtCount',
   // 定义内部容器的CSS类名
   fullClass = 'js_txtFull',
   // 定义超出字符的CSS类名
   disabledClass = 'disabled'; // 定义不可用提交按钮CSS类名
  // 统计字数
  var count = function () {
    var btn = $(this).closest('form').find(':submit'),
     val = $(this).val().length,
     // 是否禁用提交按钮
     disabled = {
      on: function () {
       btn.removeAttr('disabled').removeClass(disabledClass);
      },
      off: function () {
       btn.attr('disabled', 'disabled').addClass(disabledClass);
      }
     };
    if (val == 0) disabled.off();
    if (val <= maxNumber) {
     if (val > 0) disabled.on();
     tipWrap.html('<span class="' + countClass + '">\u8FD8\u80FD\u8F93\u5165 <strong>' + (maxNumber - val) + '</strong> \u4E2A\u5B57</span>');
    } else {
     disabled.off();
     tipWrap.html('<span class="' + countClass + ' ' + fullClass + '">\u5DF2\u7ECF\u8D85\u51FA <strong>' + (val - maxNumber) + '</strong> \u4E2A\u5B57</span>');
    };
   };
  $(this).bind('keyup change', count);
  return this;
 };
})(jQuery);
 
// demo
jQuery(function(){
// 批量
$('.autoTxtCount').each(function(){
$(this).find('.text').artTxtCount($(this).find('.tips'), 140);
});
// 单个
$('#test').artTxtCount($('#test_tips'), 10);
});
</script>
<style>
/* demo */
body {
 font-size:75%;
 font-family:'微软雅黑';
}
#demo {
 width:500px;
}
#demo .help, #demo .help a {
 color:#999;
}
#demo form {
 margin:20px 0;
 padding:8px;
 background:#F4F4F4;
 border:1px solid #EDEDED;
}
#demo .tips {
 color:#999;
 padding:0 5px;
}
#demo .tips strong {
 color:#1E9300;
}
#demo .tips .js_txtFull strong {
 color:#F00;
}
#demo textarea.text {
 width:474px;
}
</style>
</head>
<body>
<div id="demo">
 <h1>artTxtCount - 轻量级输入字数提示插件</h1>
 <p class="help">$('#text').artTxtCount($('#text_tips'), 10);</p>
 <p class="help">by tangbin. </p>
 <form class="autoTxtCount" action="" method="get">
 <div>
  <textarea class="text" name="" cols="50" rows="3"></textarea>
 </div>
 <div>
  <button type="submit">提交</button>
  <span class="tips"></span> </div>
 </form>
 <form class="autoTxtCount" action="" method="get">
 <div>
  <textarea class="text" name="" cols="50" rows="3"></textarea>
 </div>
 <div>
  <button type="submit">提交</button>
  <span class="tips"></span> </div>
 </form>
 jQuery文本框实时显示可输入字数并可禁止输入提示超出,强!
 <form action="" method="get">
 <input class="text" id="test" name="" type="text" />
 <span id="test_tips" class="tips"></span><br />
 <button type="submit">提交</button>
 </form>
</div>
</body>
</html>

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS多物体 任意值 链式 缓冲运动
Aug 10 Javascript
裁剪字符串trim()自定义改进版
Apr 10 Javascript
使用PHP+JQuery+Ajax分页的实现
Apr 23 Javascript
jquery cookie实现的简单换肤功能适合小网站
Aug 25 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
Sep 18 Javascript
javascript实现简单的二级联动
Mar 19 Javascript
JQuery显示隐藏页面元素的方法总结
Apr 16 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
Aug 31 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
Mar 07 Javascript
浅谈在react中如何实现扫码枪输入
Jul 04 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
Jun 15 Javascript
Vue3不支持Filters过滤器的问题
Sep 24 Javascript
JavaScript函数节流概念与用法实例详解
Jun 20 #Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
Jun 20 #Javascript
jquery通过name属性取值的简单实现方法
Jun 20 #Javascript
jQuery模拟select实现下拉菜单功能
Jun 20 #Javascript
对jQuary选择器的全面总结
Jun 20 #Javascript
jQuery实现的可编辑表格完整实例
Jun 20 #Javascript
jQuery文件上传控件 Uploadify 详解
Jun 20 #Javascript
You might like
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
PHP输出九九乘法表代码实例
2015/03/27 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
让焦点自动跳转
2006/07/01 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
ionic使用angularjs表单验证(模板验证)
2018/12/12 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
用Python写的图片蜘蛛人代码
2012/08/27 Python
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
python字典改变value值方法总结
2019/06/21 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
什么是TCP/IP
2014/07/27 面试题
建筑设计师岗位职责
2013/11/18 职场文书
小学生校园广播稿
2014/09/28 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
python爬虫之selenium库的安装及使用教程
2021/05/23 Python