使用js对汉字和单词混合进行统计

使用js对汉字和单词混合进行统计

规则

每个汉字标点做为一个长度。每个单词作为一个长度。(虽然这样的应用场景很少,但是用到的时候没有查询到直接可以用的代码,于是改造了网上的资料,作为比较记录下来)

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function characterWordStatic(input){
//计算规则 汉字算一个长度 单词算一个长度
if(input){
var clength = 0;
// 计算汉字个数
var str = input;
//console.log(str.match(/[\u4E00-\u9FA5]/g));
if(str.match(/[\u4E00-\u9FA5]/g) != null){
clength = str.match(/[\u4E00-\u9FA5]/g).length || 0;
}
//替换汉字
str = str.replace(/[\u4e00-\u9fa5]+/g, " ");
// 将换行符,前后空格不计算为单词数
str = str.replace(/\n|\r|^\s+|\s+$/gi,"");
// 多个空格替换成一个空格
str = str.replace(/\s+/gi," ");
var length = 0;
var match = str.match(/\s/g);
if (match) {
length = match.length + 1;
} else if (str) {
length = 1;
}
return length+clength;
}else{
return 0;
}
}

我将一直迷惑和无知,我是黄油香蕉君,再见。

给作者买杯咖啡吧。喵~