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实现支持手机滑动切换的轮播图片效果实例
Apr 29 Javascript
浅谈javascript中replace()方法
Nov 10 Javascript
详解 javascript中offsetleft属性的用法
Nov 11 Javascript
jQuery移动web开发中的页面初始化与加载事件
Dec 03 Javascript
玩转JavaScript OOP - 类的实现详解
Jun 08 Javascript
JavaScript仿微博发布信息案例
Nov 16 Javascript
Bootstrap基本布局实现方法详解
Nov 25 Javascript
jQuery实现一个简单的验证码功能
Jun 26 jQuery
Vue多种方法实现表头和首列固定的示例代码
Feb 02 Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 Javascript
js简单遍历获取对象中的属性值的方法示例
Jun 19 Javascript
layui表格内放置图片,并点击放大的实例
Sep 10 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数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
PHP+ajax 无刷新删除数据
2010/02/20 PHP
php中static静态变量的使用方法详解
2010/06/04 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
2015/09/05 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
js实现简单点赞操作
2020/03/17 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
浅谈Django的缓存机制
2018/08/23 Python
python 内置函数汇总详解
2019/09/16 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
东方红海科技面试题软件测试方面
2012/02/08 面试题
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python