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 相关文章推荐
prototype.js的Ajax对象
Sep 23 Javascript
11款基于Javascript的文件管理器
Oct 25 Javascript
js图片延迟技术一般的思路与示例
Mar 20 Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 Javascript
jquery实现鼠标滑过显示提示框的方法
Feb 05 Javascript
基于javascript如何传递特殊字符
Nov 30 Javascript
animate 实现滑动切换效果【实例代码】
May 05 Javascript
js初始化验证实例详解
Nov 26 Javascript
Angular使用ng-messages与PHP进行表单数据验证
Dec 28 Javascript
微信小程序云开发 搭建一个管理小程序
May 17 Javascript
JS实现的简单tab切换功能完整示例
Jun 20 Javascript
微信小程序去除左上角返回键的实现方法
Mar 06 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 feof用来识别文件末尾字符的方法
2010/08/01 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
Yii2.0中的COOKIE和SESSION用法
2016/08/12 PHP
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
详解vue 组件
2020/06/11 Javascript
Python中关于字符串对象的一些基础知识
2015/04/08 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
python实时监控cpu小工具
2018/06/21 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
opencv python图像梯度实例详解
2020/02/04 Python
HTML5有哪些新特征
2015/12/01 HTML / CSS
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
应用服务器有那些
2012/01/19 面试题
快递业务员岗位职责
2014/01/06 职场文书
食品销售计划书
2014/04/26 职场文书
教师年度个人总结
2015/02/11 职场文书
签约仪式致辞
2015/07/30 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis
Mysql案例刨析事务隔离级别
2021/09/25 MySQL
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python
一文搞懂MySQL索引页结构
2022/02/28 MySQL