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 相关文章推荐
自动检查并替换文本框内的字符
Jun 30 Javascript
javascript 面向对象全新理练之数据的封装
Dec 03 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
Apr 01 Javascript
js创建对象的区别示例介绍
Jul 24 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
Nov 28 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
Mar 14 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
Aug 21 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
Nov 01 Javascript
浅谈es6 javascript的map数据结构
Dec 14 Javascript
微信小程序性能优化之checkSession的使用
Mar 06 Javascript
微信小程序云开发详细教程
May 16 Javascript
JS常用跨域方法实现原理解析
Dec 09 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
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
php use和include区别总结
2019/10/13 PHP
PHP 图片处理
2020/09/16 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
对python以16进制打印字节数组的方法详解
2019/01/24 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
简单了解django缓存方式及配置
2019/07/19 Python
利用ImageAI库只需几行python代码实现目标检测
2019/08/09 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
物理专业大学生职业生涯规划书
2014/02/07 职场文书
人事科岗位职责范本
2014/03/02 职场文书
村干部培训方案
2014/05/02 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
会计岗位工作总结
2015/08/12 职场文书