Certains collègues ont publié un article sur l'OA de l'entreprise pour présenter comment obtenir la longueur de la chaîne mixte chinoise-anglais en JavaScript.
L'expression régulière est utilisée.
Copier le code du code comme suit:
Var str = "Le réservoir est la translittération du réservoir";
var len = str.match (/ [^ -] / g) == null?
J'ai vérifié le livre et compris un peu:
Les caractères couramment utilisés dans le texte occidental sont constitués de l'espace "(0x20) à" ~ "(0x7e). Essence
Copier le code du code comme suit:
String.match (regex) renverra une chaîne d'expression régulière regex sous la forme d'une chaîne sous la forme d'un tableau, donc
Str.match (/ [^ - ~] / g) renverra les caractères chinois sous la forme d'un tableau. Par exemple
var str = "dd frère";
// montre "Big, Brother", retourne deux caractères chinois dans le tableau, et la longueur du tableau est 2
alerte (str.match (/ [^ -] / g);
De cette façon, var len = str.match (/ [^ -] / g) == null? .
Dans JavaScript, la longueur d'un caractère chinois est également calculée comme 1. Il s'agit souvent d'erreurs qui provoquent une longueur excessive dans la base de données.
Remarque: il y a quelques problèmes avec le code ci-dessus.
Copier le code du code comme suit:
Fonction get_strlenth (str)
{{
var len = 0;
if (str.match (/ [^ -] / g) == null)
{{
len = str.length;
}
autre
{{
len = str.length + str.match (/ [^ -] / g) .length;
}
Retour Len;
}