這篇文章主要介紹怎么使用JavaScript實現(xiàn)仿新浪微博原生態(tài)輸入字數(shù)即時檢查功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、基本目標
如下圖,完成一個仿新浪微博的,不用任何插件,純Javascript無JQuery的帶字數(shù)統(tǒng)計的輸入框,如果超出字數(shù)則給出相應的提示。
英文算半個字,中文才算1個字。

二、基本布局
沒什么好說的。主要是提示文字給一個ID=test,字數(shù)統(tǒng)計的地方因為時時變更,因此也要給出一個ID=wordLength,之后腳本處的inputTest函數(shù),又文本框的onkeyup事件觸發(fā),同時把自己此刻的值傳遞過去。同時注意到,字數(shù)統(tǒng)計的地方之所以與新浪微博的部分相似,就是因為新浪微博那里用了Georgia字體,這字體顯示的數(shù)字比較獨特。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>輸入字數(shù)檢查</title> </head> <body> <p id="test"></p> <span><input type="text" onkeyup="inputTest(this.value)" placeholder="請在此輸入" /></span><span id="wordLength" >0/10</span> </body> </html>
三、核心腳本
<script>
//獲取長度函數(shù)
//這里不能用封裝好的方法,因為length方法,英文算一個字符,中文也算一個字符
function getStrLength(str){
//傳遞一個字符串過來
var mylen=0;
//遍歷這個字符串
for(var i=0;i<str.length;i++){
//如果字符串的第i個字符的Unicode碼在0-128之間就是英文字符,應該算一個長度
if(str.charCodeAt(i)>0&&str.charCodeAt(i)<128){
mylen++;
}else{
//否則算兩個長度
mylen+=2;
}
}
return mylen;
}
//輸入當字符數(shù)變更就觸發(fā)這個函數(shù)
function inputTest(value){
//先調(diào)getStrLength用統(tǒng)計當前文本框中所含文本的值,因為getStrLength統(tǒng)計出來的東西是英文字符長度,所以要除以2,強行轉(zhuǎn)換為整形
//再補上/10替換wordLength中的文本,/應該被轉(zhuǎn)義,否則在某些編譯器中無法通過,例如Dreamwaver
document.getElementById("wordLength").innerHTML=parseInt(getStrLength(value)/2)+"\/10";
//如果超過10個字,20個字符
if(parseInt(getStrLength(value))>20){
//那么把警告內(nèi)容顯示出來,并把其中的顏色設置為紅色,當然,你在HTML那里設置也可以
document.getElementById("test").style.display="block";
document.getElementById("test").innerHTML="太長,請修改至10字之內(nèi)";
document.getElementById("test").style.color="#ff0000";
}
else{
//否則隱藏警告內(nèi)容
document.getElementById("test").innerHTML="";
document.getElementById("test").style.display="none";
}
}
</script>以上是“怎么使用JavaScript實現(xiàn)仿新浪微博原生態(tài)輸入字數(shù)即時檢查功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前文章:怎么使用JavaScript實現(xiàn)仿新浪微博原生態(tài)輸入字數(shù)即時檢查功能-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://chinadenli.net/article40/hhpeo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、關鍵詞優(yōu)化、全網(wǎng)營銷推廣、軟件開發(fā)、App開發(fā)、云服務器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容