亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js實現(xiàn)textarea限制輸入字數(shù)

 更新時間:2017年02月13日 14:53:12   作者:chang紅達  
本文主要介紹了js實現(xiàn)textarea限制輸入字數(shù)的原理與方法。具有很好的參考價值,下面跟著小編一起來看下吧

實現(xiàn)textarea限制輸入字數(shù)(包含中文只能輸入10個,全ASCII碼能夠輸入20個)

textarea稱文本域,又稱文本區(qū),即有滾動條的多行文本輸入控件,在網頁的提交表單中經常用到。與單行文本框text控件不同,它不能通過maxlength屬性來限制字數(shù),為此必須尋求其他方法來加以限制以達到預設的需求。

通常的做法就是使用#腳本語言來實現(xiàn)對textarea文本域的字數(shù)輸入限制,簡單而實用。假設我們有一個id為 txta1 的textarea文本區(qū),我們可以通過以下代碼限制它的鍵盤輸入字數(shù)為10個字(漢字或其他小角字符):

<script language="#" type="text/ecmascript"> 
window.onload = function() 
{ 
document.getElementById('txta1').onkeydown = function() 
{ 
 if(this.value.length >= 10) 
  event.returnValue = false; 
} 
} 
</script> 

它的原理是通過對keydown(鍵盤鍵位按下)事件對指定id號的文本區(qū)進行監(jiān)測,可以想象,它只能限制鍵盤輸入,如果用戶通過鼠標右鍵粘貼剪切板中的文本,它無法控制字數(shù)。

通過鍵盤輸入,以上文本區(qū)只能輸入10個字。但是,我們的目的并沒有達到!請隨便復制一些文本,試著用鼠標右鍵粘貼,看看發(fā)生了什么。

你可以在網上找到類似上述的其他JS腳本,它們不管多么優(yōu)秀,其原理都是一樣的,通過對keydown、keyup或keypress之類的鍵盤鍵位操作事件來監(jiān)控文本區(qū)的輸入,無法防止鼠標右鍵的粘貼,為此,如果一定要真正地限制textarea的字數(shù),我們還得為網頁加另一把鎖——禁用鼠標右鍵,這無疑得付出額外的開銷,同時也可能是網頁制作者不一定愿意做的。其實,還有一個更簡單的方法,使用onpropertychange屬性。

onpropertychange可以用來判斷預定元素的value值,當元素的value值發(fā)生變化時判斷事件就會被觸發(fā),僅關心被監(jiān)測元素的value值,避開了輸入的來源,從而可以比較理想地達成我們的限制字數(shù)這一目的。它屬于JS范疇,可以在表單方框區(qū)代表中嵌套使用,以下是代碼和效果樣式,可以像上面那樣測試輸入,你會發(fā)現(xiàn)它真正達到目的:不管用什么方式輸入,它只能輸入100個字(漢字或其他小解符號):

代碼:

<textarea onpropertychange="if(value.length>100) value=value.substr(0,100)" class="smallArea" cols="60" name="txta" rows="8"></textarea>

當然,為了更為保險,處理表單數(shù)據的后臺腳本程序還應該對提交來的數(shù)據進行再一次的檢測,如果字數(shù)超出預設的數(shù)量則進行相應處理,這樣才達到真正限制字數(shù)的目的。(完)

另外一種方法實現(xiàn)textarea限制輸入字數(shù)(包含中文只能輸入10個,全ASCII碼能夠輸入20個)

<script> 
function check() { 
var regC = /[^ -~]+/g; 
var regE = /\D+/g; 
var str = t1.value; 
if (regC.test(str)){ 
 t1.value = t1.value.substr(0,10); 
} 
if(regE.test(str)){ 
 t1.value = t1.value.substr(0,20); 
} 
} 
</script> 
<textarea maxlength="10" id="t1" onkeyup="check();"> 
</textarea>

還有一種方式:

function textCounter(field, maxlimit) { 
if (field.value.length > maxlimit){ 
field.value = field.value.substring(0, maxlimit); 
}else{ 
document.upbook.remLen.value = maxlimit - field.value.length; 
} 
} 
<textarea name=words cols=19 rows=5 class=input1 onPropertyChange= "textCounter(upbook.words, 50) "> textarea> 

剩余字數(shù):

<input name=remLen type=text id= "remLen " style= "background-color: #D4D0C8; border: 0; color: red " value=50 size=3 maxlength=3 readonly>
function LimitTextArea(field){ 
 maxlimit=200; 
 if (field.value.length > maxlimit) 
  field.value = field.value.substring(0, maxlimit); 
  
 }
<textarea cols=50 rows=10 name="comment" id="commentarea" onKeyDown="LimitTextArea(this)" onKeyUp="LimitTextArea(this)" onkeypress="LimitTextArea(this)" ></textarea>

title="The textarea width must less than 300 characters." 放在textarea 里面提示輸入最大字節(jié)數(shù)。

例如:

<textarea title="The textarea width must less than 300 characters." cols=50 rows=10 name="comment" id="commentarea" onKeyDown="LimitTextArea(this)" onKeyUp="LimitTextArea(this)" onkeypress="LimitTextArea(this)" ></textarea>

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關文章

  • JavaScript prototype屬性使用說明

    JavaScript prototype屬性使用說明

    prototype 是在 IE 4 及其以后版本引入的一個針對于某一類的對象的方法,而且特殊的地方便在于:它是一個給類的對象添加方法的方法!
    2010-05-05
  • JavaScript中Hoisting詳解 (變量提升與函數(shù)聲明提升)

    JavaScript中Hoisting詳解 (變量提升與函數(shù)聲明提升)

    函數(shù)聲明和變量聲明總是被JavaScript解釋器隱式地提升(hoist)到包含他們的作用域的最頂端。下面這篇文章主要給大家介紹了關于JavaScript中Hoisting(變量提升與函數(shù)聲明提升)的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • 淺談js中startsWith 函數(shù)不能在任何瀏覽器兼容的問題

    淺談js中startsWith 函數(shù)不能在任何瀏覽器兼容的問題

    下面小編就為大家?guī)硪黄獪\談js中startsWith 函數(shù)不能在任何瀏覽器兼容的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 詳解微信小程序回到頂部的兩種方式

    詳解微信小程序回到頂部的兩種方式

    這篇文章主要介紹了詳解微信小程序回到頂部的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • JS優(yōu)雅的使用function實現(xiàn)一個class

    JS優(yōu)雅的使用function實現(xiàn)一個class

    這篇文章主要為大家介紹了JS優(yōu)雅的使用function實現(xiàn)一個class示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 詳解基于webpack2.x的vue2.x的多頁面站點

    詳解基于webpack2.x的vue2.x的多頁面站點

    本篇文章主要主要介紹了基于webpack2.x的vue2.x的多頁面站點 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • 實現(xiàn)js保留小數(shù)點后N位的代碼

    實現(xiàn)js保留小數(shù)點后N位的代碼

    最近在做項目的時候,遇到要保留小數(shù)點后N位的問題,經過一番思索,最終完成了,這里記錄一下,下次需要直接就能拉出來用了
    2014-11-11
  • js實現(xiàn)掃雷源代碼

    js實現(xiàn)掃雷源代碼

    這篇文章主要為大家詳細介紹了js實現(xiàn)掃雷源代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 淺談js中的閉包

    淺談js中的閉包

    閉包是一個比較抽象的概念,尤其是對js新手來說.書上的解釋實在是比較晦澀,對我來說也是一樣.閉包是很多語言都具備的特性,在js中,閉包主要涉及到js的幾個其他的特性:作用域鏈,垃圾(內存)回收機制,函數(shù)嵌套,等等.
    2015-03-03
  • javascript高亮效果的二種實現(xiàn)方法

    javascript高亮效果的二種實現(xiàn)方法

    js高亮效果實現(xiàn)代碼,直接靜態(tài)頁面即可,不用每次都要生成
    2008-09-09

最新評論