Javascript校验含中文的字符串长度

http://www.itjxue.com  2015-08-06 23:18  来源:未知  点击次数: 

网上有不少解决方案,贡献下我使用的两个函数:

	/**
	 * 得到字符串的字符长度(一个汉字占两个字符长)
	 */
	function getBytesLength(str) {
		// 在GBK编码里,除了ASCII字符,其它都占两个字符宽
		return str.replace(/[^\x00-\xff]/g, 'xx').length;
	}

	/**
	 * 根据字符长来截取字符串
	 */
	function subStringByBytes(val, maxBytesLen) {
		var len = maxBytesLen;
		var result = val.slice(0, len);
		while(getBytesLength(result) > maxBytesLen) {
			result = result.slice(0, --len);
		}
		return result;
	}

一个实例:

    [ 提示:你可先修改部分代码,再按Ctrl+A 全部选择 ]

(责任编辑:IT教学网)

更多

推荐Javascript/Ajax文章