js字符限制(字符截取) 一个中文汉字算两个字符

html

<input type="text" id="txt">

核心js代码

//字符串截取
function getByteVal(val, max) {
	var returnValue = '';
	var byteValLen = 0;
	for (var i = 0; i < val.length; i++) {
		if (val[i].match(/[^\x00-\xff]/ig) != null)
		byteValLen += 2;
		else
		byteValLen += 1;
		if (byteValLen > max)
		break;
		returnValue += val[i];
	}
	return returnValue;
}
$('#txt').bind('keyup',function(){
	var val=this.value;
	if(val.replace(/[^\x00-\xff]/g,"**").length>14){
		this.value=getByteVal(val,14)
	}
})

注意:代码中使用了jquery绑定事件,所以需要加入jquery框架。