Некоторые коллеги опубликовали пост в ОА компании, чтобы представить, как получить длину смешанной струны китайско -английского языка в JavaScript.
Регулярное выражение используется.
Код кода копирования следующим образом:
Var str = "Танк - это транслитерация танка";
var len = str.match (/[^ -]/g) == null?
Я проверил книгу и немного понял:
Обычно используемые символы в западном тексте состоят из пространства "(0x20) до" ~ "(0x7e). Сущность
Код кода копирования следующим образом:
String.match (regex) вернет строку регулярного режима выражения в форме строки в форме массива, поэтому
Str.match (/[^ -~]/g) вернет китайских иероглифы в форме массива. Например
var str = "dd брат";
// Покажите «Большой, брат», вернуть двух китайских иероглифов в массиве, а длина массива 2
Alert (str.match (/[^ -]/g);
Таким образом, var len = str.match (/[^ -]/g) == null? Полем
В JavaScript длина китайского символа также рассчитывается как 1. Часто ошибки, которые вызывают чрезмерную длину в базе данных.
Примечание: есть некоторые проблемы с приведенным выше кодом.
Код кода копирования следующим образом:
Функция get_streth (str)
{{
var len = 0;
if (str.match (/[^ -]/g) == null)
{{
len = str.length;
}
еще
{{
len = str.length + str.match (/[^ -]/g) .length;
}
Вернуть Лен;
}