首页 > 代码库 > js计算字数的方法(与word计算出来一样)

js计算字数的方法(与word计算出来一样)

【背景】

用户经常要求某个字段要求限制填写多少字,可是js通过value.length取出来的往往跟实际字数相差很多。经常有用户抱怨,明明没写那么多字,可是系统却提示超出字数限制。于是,我研究了word计算字数的规则,写了一段这样程序。

【参考代码】

//用word方式计算正文字数
function fnGetCpmisWords(str){
	sLen = 0;
	try{
		//先将回车换行符做特殊处理
   		str = str.replace(/(\r\n+|\s+| +)/g,"龘");
		//处理英文字符数字,连续字母、数字、英文符号视为一个单词
		str = str.replace(/[\x00-\xff]/g,"m");	
		//合并字符m,连续字母、数字、英文符号视为一个单词
		str = str.replace(/m+/g,"*");
   		//去掉回车换行符
		str = str.replace(/龘+/g,"");
		//返回字数
		sLen = str.length;
	}catch(e){
		
	}
	return sLen;
}

说明:

       计算的时候用了一个特殊的汉字"龘"拆分,实在想不到更好的,如果有好的方法,烦请说一下。