js实现文本框输入文字个数限制代码


Posted in Javascript onDecember 25, 2015

通常情况下,文本框输入的文字个数并不是无限制的,一般都会限定一个输入最高上限,较为人性化的网站可能会有可输入字数倒计效果,比如还剩余20可以输入这样的提示,下面就通过一个实例介绍一下如何实现此效果。

先看看效果图:

js实现文本框输入文字个数限制代码

代码如下:

<html> 
<head> 
<title>文本框输入文字倒计效果代码</title> 
<style type="text/css"> 
* 
{ 
 margin:0; 
 padding:0; 
} 
.box 
{ 
 width:500px; 
 margin:10px auto; 
} 
p span 
{ 
 color:#069; 
 font-weight:bold; 
} 
textarea 
{ 
 width:300px; 
} 
.textColor 
{ 
 background-color:#0C9; 
} 
.grey 
{ 
 padding:5px; 
 color:#FFF; 
 background-color:#CCCCCC; 
} 
</style> 
<script type="text/javascript" src="jQuery/jquery-1.8.3.js"></script> 
<script type="text/javascript"> 
$(function(){ 
 var $tex=$(".tex"); 
 var $but=$(".but"); 
 var ie=jQuery.support.htmlSerialize; 
 var str=0; 
 var abcnum=0; 
 var maxNum=280; 
 var texts=0; 
 
 $tex.val(""); 
 $tex.focus(function(){ 
 if($tex.val()=="") 
 { 
  $("p").html("您还可以输入的字数<span>140</span>"); 
 } 
 }) 
 $tex.blur(function(){ 
 if($tex.val() == "") 
 { 
  $("p").html("请在下面输入您的文字:"); 
 } 
 }) 
 if(ie) 
 { 
  $tex[0].oninput = changeNum; 
 } 
 else 
 { 
  $tex[0].onpropertychange = changeNum; 
 } 
 
 function changeNum() 
 { 
 //汉字的个数 
 str=($tex.val().replace(/\w/g,"")).length; 
 //非汉字的个数 
 abcnum=$tex.val().length-str; 
 total=str*2+abcnum; 
 if(str*2+abcnum<maxNum||str*2+abcnum==maxNum) 
 { 
  $but.removeClass() 
  $but.addClass("but"); 
  texts=Math.ceil((maxNum-(str*2+abcnum))/2); 
  $("p").html("您还可以输入的字数<span>"+texts+"</span>").children().css({"color":"blue"}); 
 } 
 else if(str*2+abcnum>maxNum) 
 { 
  $but.removeClass("") 
  $but.addClass("grey"); 
  texts =Math.ceil(((str*2+abcnum)-maxNum)/2); 
  $("p").html("您输入的字数超过了<span>"+texts+"</span>").children("span").css({"color":"red"}); 
 } 
 } 
}) 
</script> 
</head> 
<body> 
<div class="box"> 
 <p>请在下面输入您的文字:</p> 
 <textarea name="weibao" class="tex" cols="" rows="8"></textarea> 
</div> 
</body> 
</html>

希望本文所述对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript的对话框详解与参数
Mar 08 Javascript
关于B/S判断浏览器断开的问题讨论
Oct 29 Javascript
js封装的textarea操作方法集合(兼容很好)
Nov 16 Javascript
在每个匹配元素的外部插入新元素的方法
Dec 20 Javascript
JavaScript中的对象序列化介绍
Dec 30 Javascript
JS中Swiper的使用和轮播图效果
Aug 11 Javascript
javascript 产生随机数的几种方法总结
Sep 26 Javascript
vue仿element实现分页器效果
Sep 13 Javascript
微信小程序实现跳转的几种方式总结(推荐)
Apr 24 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
Aug 07 Javascript
Layui实现数据表格默认全部显示(不要分页)
Oct 26 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
Nov 04 Javascript
js实现简单的验证码
Dec 25 #Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
Dec 24 #Javascript
javascript与jquery中的this关键字用法实例分析
Dec 24 #Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 #Javascript
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 #Javascript
基于JS2Image实现圣诞树代码
Dec 24 #Javascript
jquery读写cookie操作实例分析
Dec 24 #Javascript
You might like
ajax实现无刷新分页(php)
2010/07/18 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python实现的栈(Stack)
2018/01/26 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
一些Unix笔试题和面试题
2013/01/22 面试题
中学生期中自我鉴定
2014/04/20 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
爱国教育主题班会
2015/08/14 职场文书
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
基于angular实现树形二级表格
2021/10/16 Javascript
Ajax异步刷新功能及简单案例
2021/11/20 Javascript