HTML
<input maxlength="15" type="text" onkeydown="onkeydown_(event);" onkeyup="onkeyup_(event,thisObj);">
JavaScript
//用来判断现在是输入汉字还是字母
var isChinese = false;
function onkeydown_(e){
//keyCode === 229 说明在使用输入法输入汉字
if(e.keyCode === 229) {
isChinese = true;
}
}
function onkeyup_(e,thisObj){
//当用户正在使用输入法打拼音,然后按了回车,或者123456789,输入了汉字,则获取此时的长度;
if (isCh && (e.keyCode === 32 || e.keyCode > 48 && e.keyCode < 58 )) {
//重置isChinese变量的值
isChinese = false;
console.log( e.target.value.length);
} else if ( !isChinese ) {
//当用户没有借助输入法,则可直接获取字数
console.log( e.target.value.length );
}
}