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继承 Base类的源码解析
Dec 30 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
Sep 22 Javascript
js电话号码验证方法
Sep 28 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
Nov 17 Javascript
jQuery:unbind方法的使用详解
Aug 14 jQuery
JS中关于正则的巧妙操作
Aug 31 Javascript
jQuery实现碰到边缘反弹的动画效果
Feb 24 jQuery
如何利用@angular/cli V6.0直接开发PWA应用详解
May 06 Javascript
javascript使用Blob对象实现的下载文件操作示例
Apr 18 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
Aug 04 Javascript
react国际化react-intl的使用
May 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
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
使用php实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
PHP实现图片压缩的两则实例
2014/07/19 PHP
php简单实现多字节字符串翻转的方法
2015/03/31 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
2015/04/03 PHP
js事件(Event)知识整理
2012/10/11 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
javascript中call()、apply()的区别
2019/03/21 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
Python实现批量修改文件名实例
2015/07/08 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
雷蛇美国官网:Razer
2020/04/03 全球购物
村官学习十八大感想
2014/01/15 职场文书
学生宿舍管理制度
2014/01/30 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
党员承诺书格式
2014/05/21 职场文书
舞蹈专业求职信
2014/06/13 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书
用Python爬取某乎手机APP数据
2021/06/15 Python
Python OpenCV超详细讲解基本功能
2022/04/02 Python