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 相关文章推荐
Query中click(),bind(),live(),delegate()的区别
Nov 19 Javascript
javascript实现日期格式转换
Dec 16 Javascript
javascript创建函数的20种方式汇总
Jun 23 Javascript
使用RequireJS优化JavaScript引用代码的方法
Jul 01 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
Apr 17 Javascript
js return返回多个值,通过对象的属性访问方法
Feb 21 Javascript
JS正则表达式判断有效数实例代码
Mar 13 Javascript
vue中引用阿里字体图标的方法
Feb 10 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
Feb 28 Javascript
React 组件中的 bind(this)示例代码
Sep 16 Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
Sep 28 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将HTML转换成文本的实现代码
2015/01/21 PHP
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
理解javascript模块化
2016/03/28 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
JavaScript mixin实现多继承的方法详解
2017/03/30 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
React Router v4 入坑指南(小结)
2018/04/08 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
Mac安装python3的方法步骤
2019/08/09 Python
Python datetime包函数简单介绍
2019/08/28 Python
python ftplib模块使用代码实例
2019/12/31 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
劳动之星获奖感言
2014/02/01 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
学校政风行风整改方案
2014/10/25 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
js 数组 fill() 填充方法
2021/11/02 Javascript
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers