基于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 相关文章推荐
用js实现的一个Flash滚动轮换显示图片代码生成器
Mar 14 Javascript
Discuz! 6.1_jQuery兼容问题
Sep 23 Javascript
javascript中sort()的用法实例分析
Jan 30 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
Feb 17 Javascript
跟我学习javascript的最新标准ES6
Nov 20 Javascript
微信小程序movable view移动图片和双指缩放实例代码
Aug 08 Javascript
深入理解Vue.js源码之事件机制
Sep 27 Javascript
浅析微信扫码登录原理(小结)
Oct 29 Javascript
Vue开发环境跨域访问问题
Jan 22 Javascript
浅谈Vue 函数式组件的使用技巧
Jun 16 Javascript
原生JavaScript实现拖动校验功能
Sep 29 Javascript
vue 中this.$set 动态绑定数据的案例讲解
Jan 29 Vue.js
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 中文处理技巧
2010/04/25 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
php 把数字转换成汉字的代码
2015/07/21 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
读jQuery之八 包装事件对象
2011/06/21 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
浅谈python内置变量-reversed(seq)
2017/06/21 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
对pandas中apply函数的用法详解
2018/04/10 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
网络工程专业毕业生推荐信
2013/10/28 职场文书
心理健康日活动总结
2014/05/08 职场文书
演讲稿格式范文
2014/05/19 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
交通违章检讨书
2014/09/21 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
消费者投诉书范文
2015/07/02 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技