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 相关文章推荐
超清晰的document对象详解
Feb 27 Javascript
使用jQuery设置disabled属性与移除disabled属性
Aug 21 Javascript
jQuery中on()方法用法实例详解
Feb 06 Javascript
JavaScript中的setMilliseconds()方法使用详解
Jun 11 Javascript
javascript简易画板开发
Apr 12 Javascript
jquery ajaxfileupload异步上传插件使用详解
Feb 08 Javascript
Vue组件全局注册实现警告框的实例详解
Jun 11 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
Aug 08 jQuery
通过说明与示例了解js五种设计模式
Jun 17 Javascript
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 jQuery
Vue性能优化的方法
Jul 30 Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 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/13 PHP
劣质的PHP代码简化
2010/02/08 PHP
在yii中新增一个用户验证的方法详解
2013/06/20 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
Python笔记(叁)继续学习
2012/10/24 Python
python实现ip查询示例
2014/03/26 Python
python字符串替换示例
2014/04/24 Python
wxPython之解决闪烁的问题
2018/01/15 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
最美家庭活动方案
2014/08/31 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
2014年预算员工作总结
2014/12/05 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
我收到了德劲DE1107
2022/04/05 无线电
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers