一位同事发了一篇关于公司OA的文章,介绍如何在Javascript中获取中英文混合字符串的长度。

使用正则表达式。
复制代码代码如下所示:
坦克是坦克的音译;
VaR len = str.match(- ~ } / / G = { ^)空str.length:str.length + str.match(- ~ } / G / { ^长度);

我找到了这本书,懂了一点儿:

西方常见的字符集由空格(0x20)~(0×7e),汉字将落在字符集,和正则表达式- ~ }说除了空间{ ^ ~字符集。
复制代码代码如下所示:
String.match(正则表达式)返回一个字符串匹配正则表达式正则表达式中的数组形式的字符串,所以
Str.match(- ~ } / G / { ^)将返回一个array.for实例形式的汉字
DD大哥;
大哥显示,数组中有两个汉字,数组长度为2
警报(str.match(- ~ } / G / { ^));

因此,VaR len = str.match(- ~ } / / G = { ^)空str.length:str.length + str.match(- ~ } / G / { ^)。长度;你可以得到个正确的长度。

在Javascript中,一个汉字的长度也被计算为1。它常常导致在提交的数据库中超过标准的错误。现在,我们可以在提交之前发现它。

注意:上面代码中的一些符号有问题。更正后,代码将更改为以下功能。
复制代码代码如下所示:
功能get_strlength(STR)
{
var = 0;

如果(str.match(- ~ } / G / { ^)= = null)
{
str.length len =;
}
其他的
{
len = str.length + str.match(- ~ } / G / { ^长度);
}

返回伦;
}