Maison > Article > interface Web > Comment obtenir la longueur d'une chaîne en javascript
Comment obtenir la longueur d'une chaîne en JavaScript : 1. Utilisez l'attribut length pour obtenir la longueur de la chaîne par caractères, syntaxe "string.length" 2. Utilisez charCodeAt() pour obtenir la longueur ; de la chaîne en octets.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
js détermine la longueur d'une chaîne par caractères
L'attribut length peut lire la longueur de la chaîne. La longueur est en caractères et cette propriété est en lecture seule.
Exemple de code :
<script> var str = 'hello word!'; console.log(str.length); var str2 = '你好,世界!你好,中国!'; console.log(str2.length); </script>
Résultat de sortie :
11 12
Remarque :
1. Utilisez l'attribut length pour obtenir la longueur de chaque caractère, y compris les espaces et les signes de ponctuation. , compte Un caractère
2. Dans l'attribut length, les caractères chinois sont également par défaut un caractère
js détermine la longueur d'une chaîne en octets
Les octets pris en charge dans JavaScript incluent les types à un octet et à deux octets. D'une manière générale, les symboles anglais et anglais occupent 1 caractère, et les caractères chinois et les symboles chinois occupent 2 caractères
Exemple 1 :
charCodeAt() : La méthode renvoie l'encodage Unicode du caractère au poste spécifié. Sa valeur est un entier compris entre 0 et 65 535.
<script> var str = '电影:我和我的祖国'; var len = 0; for (var i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 127 || str.charCodeAt(i) == 94) { len += 2; } else { len++; } } console.log(len); </script>
Résultat de sortie :
18
Exemple 2 :
Un caractère chinois comporte 2 caractères et un symbole chinois comporte 2 caractères.
<script> var str = '你好,世界!'; var len = 0; for (var i = 0; i < str.length; i++) { var c = str.charCodeAt(i); //单字节加1 if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) { len++; } else { len += 2; } } console.log(len); </script>
Résultat de sortie : 12
Exemple 3 :
Remplacez le caractère à deux octets par deux caractères à un octet et obtenez ses caractères Numéro
<script> var str = '飞鸟慕鱼博客'; var len = str.replace(/[^\x00-\xff]/g, "00").length; console.log(len); </script>
Résultat de l'exécution : 12
Exemple 4 :
<script> var str = '中华人民共和国'; var len = 0; for (var i = 0; i < str.length; i++) { var c = str.charAt(i); if (escape(c).length > 4) { len += 2; } else if (c != "\r") { len++; } } console.log(len); </script>
Résultat de l'exécution : 14
Exemple 5 :
Vous pouvez utiliser des expressions régulières pour déterminer si un caractère est codé sur deux octets
<script> var str = '这里使用的正规表达式'; var len = 0; for (var i = 0; i < str.length; i++) { var a = str.charAt(i); //使用的正则表达式 if (a.match(/[^\x00-\xff]/ig) != null) { len += 2; } else { len += 1; } } console.log(len); </script> //20
[Recommandations associées : Tutoriel d'apprentissage Javascript]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!