基于jQuery的计算文本框字数的代码


Posted in Javascript onJune 06, 2012

一、功能:

1.用户边输入计算同时进行,告诉用户还剩余多少可输入的字数;

2.当超过规定的字数后,点击确定,会让输入框闪动
二、功能分析

1.重点是用什么事件?

标准浏览器用oninput,而IE则使用onpropertychange ,这两个事件的发生条件,是文本框的值发生改变。

2.字数的计算。

2.1一个中文算两个,一个符号或数字,英文,算一个。(如果是规定140个字,乘以2,那么就是280个)

2.2需要用到Math.ceil方法,因为最后还是要除以2来还原显示给用户的字数;

3.闪动背景色

这里用到了模运算,因为是重复的动作,第一次有颜色,第二次没有颜色,这样重复的动作,就有闪动效果.

因为肉眼要看到这二次有颜色和无颜色的效果,所以需要用到延时,setTimeout和setInterval. 这里用到的是setInterval,因为要重复动作。

感谢“妙味课堂”的视频

在线演示:http://demo.3water.com/js/2012/myinputCount/
打包下载:https://3water.com/jiaoben/55149.html

基于jQuery的计算文本框字数的代码

$(function(){ 
var $tex = $(".tex"); 
var $but = $(".but"); 
var ie = jQuery.support.htmlSerialize; 
var str = 0; 
var abcnum = 0; 
var maxNum = 280; 
var texts= 0; 
var num = 0; 
var sets = null; 
$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"}); 
} 
} 
//按钮点击 
$but.click(function(){ 
if($(this).is(".grey")){ 
sets = setInterval(flash,100); 
$tex.addClass("textColor") 
} 
function flash(){ 
num++; 
if(num == 4){ 
clearInterval(sets); 
} 
if(num%2 == 1){ 
$tex.addClass("textColor") 
}else{ 
$tex.removeClass("textColor") 
} 
} 
}) 
})
Javascript 相关文章推荐
使用TextRange获取输入框中光标的位置的代码
Mar 08 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
Jan 15 Javascript
JavaScript建立一个语法高亮输入框实现思路
Feb 26 Javascript
javascript数组去重3种方法的性能测试与比较
Mar 26 Javascript
javascript同页面多次调用弹出层具体实例代码
Aug 16 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
Mar 13 Javascript
Vue自定义指令介绍(2)
Dec 08 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
Feb 20 Javascript
基于form-data请求格式详解
Oct 29 Javascript
如何利用javascript接收json信息并进行处理
Aug 06 Javascript
原生js实现自定义难度的扫雷游戏
Jan 22 Javascript
Javascript 页面模板化很多人没有使用过的方法
Jun 05 #Javascript
Javascript创建自定义对象 创建Object实例添加属性和方法
Jun 04 #Javascript
Javascript数组的排序 sort()方法和reverse()方法
Jun 04 #Javascript
javascript中获取下个月一号,是星期几
Jun 01 #Javascript
一行代码告别document.getElementById
Jun 01 #Javascript
javascript的console.log()用法小结
May 31 #Javascript
jQuery 联动日历实现代码
May 31 #Javascript
You might like
php gzip压缩输出的实现方法
2013/04/27 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
jQuery实现鼠标移到元素上动态提示消息框效果
2013/10/20 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
python实现根据文件格式分类
2019/10/31 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
Python新手学习函数默认参数设置
2020/06/03 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
厨师长岗位职责
2014/03/02 职场文书
高中生旷课检讨书
2014/10/08 职场文书
学校师德师风整改方案
2014/10/28 职场文书
2014年采购工作总结
2014/11/20 职场文书
公司给客户的感谢信
2015/01/23 职场文书
民事调解书范文
2015/05/20 职场文书
单独二胎证明
2015/06/24 职场文书