今日遇到個麻煩事。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...