限定字元長度,截斷中文字元

2021-04-25 04:33:35 字數 521 閱讀 1579

今日遇到個麻煩事。input限定輸入位元組數是8,中文自然算兩個位元組。本來一路順利,keyup keydown keypress事件挨個試過去,把中文用正則替換成兩個英文本元,超過8的就return false。ie下表現超級完美。

這個時侯firefox下麻煩事就開始了,ie下,中文輸入法狀態下他也是能捕獲鍵盤事件的。但ff下卻無法捕獲輸入法狀態下的鍵盤事件,比如我搜狗,他 只能識別到最後那次空格……一惱火,乾脆換條思路,直接截斷字元來解決。效果感覺還行,總比沒有好,此方法也適用於複製進去的文字。$(

"input")

.bind("

keyup",

function

()this

.value

=str;})

; **很簡單,也很安全。想封裝成其他形式請自便。

我這裡用的是減法,對於input這種很合適。因為不會多出去很多字元的。

這裡我事後搜到乙個做加法的,也不錯,可以參考一下。只是不建議像他這樣直接給原生物件做擴充套件,容易衝突。放到自己的私有物件下會比較好。

jquery 判斷中文字元的長度

方法一 使用正規表示式,如下 function getbytelen val else return len 方法二 使用字元unicode判斷 方法如下 function getbytelen val else return len function querytask var scantarge...

FME中中文字元長度問題

字元編碼.fmw 前面曾經寫過一篇fme中中西文本元長度的部落格 但時間過了這麼久,fme的版本更新到了2015,有一天我再次用到python裡面的len 函式來計算字元長度的時候發現,竟然跟stringlengthcalculator得到的同樣的結果,也就是乙個漢字作為了乙個字元。這確實讓人遺憾,...

PHP實現中文字元的無亂碼截斷

php內建的substr 函式不能對中文字元進行很好的截斷處理,對於一些中英文混合的字元會出現亂碼的情況。下面提供兩種解決函式。1 gb2312編碼方式的截斷 php function msubstr str,start,len else tmpstr substr str,i,1 return t...