js 控制輸入文字個數(換行不算)

2021-09-07 11:52:03 字數 1007 閱讀 6822

如題,換行符在textarea中是要當成乙個字元的。用普通的maxlength屬性就不行了,於是想到通過事件來控制輸入文字的長度。

注意哦,回車換行不能算成字元。這樣的話,普通的substring等方法可能都不適用,要考慮文字中的換行符。

目前的實現如下,還有不完美的地方。如drag事件沒有考慮。

<

html

>

<

head

>

head

>

<

body

>

<

p>

textarea2

p>

<

textarea

id='txtarea2'

data-maxlength

=10

cols

='50'

rows

='10'

>

textarea

>

<

script

>

vartxtarea2

=document.getelementbyid(

"txtarea2");

txtarea2.onkeydown

=function

(e) }}

txtarea2.oninput

=function

() txtarea2.onpaste

=function

(e)

}//字元統計函式(回車換行算字元)

function

getlength(input)

script

>

body

>

html

>

上面的只是測試用的,沒有包裝成通用方法。不過效果已經實現了。

在此記錄一下,有空再來完善一下。

測試環境:chorme。

ie未測試。

css控制文字換行

設定為break word時,文字中的長單詞或url可以換行 換行換行換行換行換行換行換行換行aaaaaaaaaaaaaaaa 新增換行後的效果 若css不設定word wrap,遇到長單詞時內容溢位,效果如圖所示 設定為break all時,文字遇到長單詞,會選擇在合適的位置截斷進行換行 換行換行...

css控制文字換行

設定為break word時,文字中的長單詞或url可以換行 換行換行換行換行換行換行換行換行aaaaaaaaaaaaaaaa 新增換行後的效果 若css不設定word wrap,遇到長單詞時內容溢位,效果如圖所示 設定為break all時,文字遇到長單詞,會選擇在合適的位置截斷進行換行 換行換行...

js對輸入文字個數的限制

第一種 乙個漢字算一位,兩個字母或符號算一位。通過ascii編碼來判斷 textarea.onkeyup function 通過charcodeat編碼來判斷 鍵盤up的時候判斷 textarea.onkeyup function else span.innerhtml 150 num 0 0 15...