jQuery計(jì)算文本框字?jǐn)?shù)及限制文本框字?jǐn)?shù)的方法
一個(gè)中文算兩個(gè),一個(gè)符號(hào)或數(shù)字,英文,算一個(gè)。(如果是規(guī)定140個(gè)字,乘以2,那么就是280個(gè))。需要用到Math.ceil方法,因?yàn)樽詈筮€是要除以2來還原顯示給用戶的字?jǐn)?shù);
$(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("您還可以輸入的字?jǐn)?shù)<span>140</span>"); } }) $tex.blur(function(){ if($tex.val() == ""){ $("p").html("請(qǐng)?jiān)谙旅孑斎肽奈淖郑?); } }) //文本框字?jǐn)?shù)計(jì)算和提示改變 if(ie){ $tex[0].oninput = changeNum; }else{ $tex[0].onpropertychange = changeNum; } function changeNum(){ //漢字的個(gè)數(shù) str = ($tex.val().replace(/\w/g,"")).length; //非漢字的個(gè)數(shù) 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("您還可以輸入的字?jǐn)?shù)<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("您輸入的字?jǐn)?shù)超過了<span>"+texts+"</span>").children("span").css({"color":"red"}); } } //按鈕點(diǎn)擊 $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") } } }) })
一、功能:
用戶邊輸入計(jì)算同時(shí)進(jìn)行,告訴用戶還剩余多少可輸入的字?jǐn)?shù);
當(dāng)超過規(guī)定的字?jǐn)?shù)后,點(diǎn)擊確定,會(huì)讓輸入框閃動(dòng)
二、功能分析
重點(diǎn)是用什么事件?
標(biāo)準(zhǔn)瀏覽器用oninput,而IE則使用onpropertychange ,這兩個(gè)事件的發(fā)生條件,是文本框的值發(fā)生改變。
字?jǐn)?shù)的計(jì)算。
一個(gè)中文算兩個(gè),一個(gè)符號(hào)或數(shù)字,英文,算一個(gè)。(如果是規(guī)定140個(gè)字,乘以2,那么就是280個(gè))。需要用到Math.ceil方法,因?yàn)樽詈筮€是要除以2來還原顯示給用戶的字?jǐn)?shù);
閃動(dòng)背景色
這里用到了模運(yùn)算,因?yàn)槭侵貜?fù)的動(dòng)作,第一次有顏色,第二次沒有顏色,這樣重復(fù)的動(dòng)作,就有閃動(dòng)效果.
因?yàn)槿庋垡吹竭@二次有顏色和無顏色的效果,所以需要用到延時(shí),setTimeout和setInterval. 這里用到的是setInterval,因?yàn)橐貜?fù)動(dòng)作。
下面一段代碼給大家介紹用jQuery實(shí)現(xiàn)限制輸入字?jǐn)?shù)的文本框。
1.導(dǎo)入外部.js文件:
<script src="http://static.l99.com/js/jquery/jquery-1.2.6.pack.js" type="text/javascript"></script>
2.在<body>標(biāo)簽中加入如下代碼:
<body> 還可以輸入<span id="word">140</span>個(gè)字<br /> <textarea id="txt" name="" cols="" rows=""></textarea> <script language="javascript" type="text/javascript"> $("#txt").keyup(function(){ if($("#txt").val().length > 140){ $("#txt").val( $("#txt").val().substring(0,140) ); } $("#word").text( 140 - $("#txt").val().length ) ; }); </script> </body>
3.如果頁面加載時(shí)輸入框中有默認(rèn)文本,那么要在頁面加載時(shí)運(yùn)行如下jQuery代碼,方能正確顯示:
$("#word").text( 140 - $("#txt").val().length ) ;
- 基于jQuery實(shí)現(xiàn)仿微博發(fā)布框字?jǐn)?shù)提示
- jquery實(shí)現(xiàn)textarea輸入框限制字?jǐn)?shù)的方法
- jQuery計(jì)算textarea中文字?jǐn)?shù)(剩余個(gè)數(shù))的小程序
- jquery限制輸入字?jǐn)?shù),并提示剩余字?jǐn)?shù)實(shí)現(xiàn)代碼
- 基于jQuery的計(jì)算文本框字?jǐn)?shù)的代碼
- 基于jquery的textarea發(fā)布框限制文字字?jǐn)?shù)輸入(添加中文識(shí)別)
- 基于jquery的inputlimiter 實(shí)現(xiàn)字?jǐn)?shù)限制功能
- jQuery maxlength文本字?jǐn)?shù)限制插件
- JQuery 表單中textarea字?jǐn)?shù)限制實(shí)現(xiàn)代碼
- 文本框的字?jǐn)?shù)限制功能jquery插件
- 基于JQuery的數(shù)字改變的動(dòng)畫效果--可用來做計(jì)數(shù)器
- jQuery實(shí)現(xiàn)簡易的輸入框字?jǐn)?shù)計(jì)數(shù)功能示例
相關(guān)文章
jQuery 選擇器項(xiàng)目實(shí)例分析及實(shí)現(xiàn)代碼
首先廢話一句,jQuery選擇器真心很強(qiáng)大!接下來詳細(xì)介紹jQuery 選擇器項(xiàng)目實(shí)例實(shí)現(xiàn)方式2012-12-12jquery彈窗插件colorbox綁定動(dòng)態(tài)生成元素的方法
這篇文章主要介紹了jquery彈窗插件colorbox綁定動(dòng)態(tài)生成元素的方法,colorbox是一款非常好用的彈窗插件,需要的朋友可以參考下2014-06-06利用jQuery插件擴(kuò)展識(shí)別瀏覽器內(nèi)核與外殼的類型和版本的實(shí)現(xiàn)代碼
在平時(shí)的B/S開發(fā)中,經(jīng)常需要知道瀏覽器的內(nèi)核類型和版本,甚至,有時(shí)還需要知道瀏覽器的外殼類型和版本2011-10-10BootStrap中按鈕點(diǎn)擊后被禁用按鈕的最佳實(shí)現(xiàn)方法
在項(xiàng)目開發(fā)中經(jīng)常會(huì)遇到這樣的功能,為了防止在Bootstrap中點(diǎn)擊按鈕多次提交,所以希望點(diǎn)擊按鈕后禁用按鈕。怎么實(shí)現(xiàn)此功能呢?今天腳本之家小編給大家分享BootStrap中按鈕點(diǎn)擊后被禁用按鈕的最佳實(shí)現(xiàn)方法,非常不錯(cuò),感興趣的朋友參考下吧2016-09-09jQuery源碼解讀之a(chǎn)ddClass()方法分析
這篇文章主要介紹了jQuery源碼解讀之a(chǎn)ddClass()方法,注釋形式較為詳細(xì)的分析了addClass()方法的實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02jquery驗(yàn)證郵箱格式是否正確實(shí)例講解
這篇文章主要介紹了一個(gè)jquery驗(yàn)證郵箱格式是否正確的實(shí)踐案例,利用正則表達(dá)式進(jìn)行驗(yàn)證,感興趣的小伙伴們可以參考一下2015-11-11基于Jquery和CSS3制作數(shù)字時(shí)鐘附源碼下載(CSS3篇)
數(shù)字時(shí)鐘在web倒計(jì)時(shí),web鬧鐘效果以及基于html5的web app中,本文給大家介紹基于jquery和css3制作數(shù)字時(shí)鐘附源碼下載,感興趣的朋友來看看吧2015-11-11