Maison  >  Article  >  interface Web  >  Explication détaillée des méthodes de manipulation de chaînes JavaScript et exemples de compatibilité des navigateurs

Explication détaillée des méthodes de manipulation de chaînes JavaScript et exemples de compatibilité des navigateurs

伊谢尔伦
伊谢尔伦original
2017-07-25 14:32:211588parcourir

slice()

Définition : Accepte un ou deux paramètres, le premier paramètre spécifie la position de départ de la sous-chaîne. Le deuxième paramètre représente la position de fin de la sous-chaîne (à l'exclusion du caractère en position de fin). Si le deuxième paramètre n'est pas transmis, la longueur de la chaîne est utilisée comme position de fin.

1. Lorsque le paramètre passé est une valeur positive :


var str ="helloWorld";
// 一个参数,则将字符串长度作为结束位置
alert(str.slice(3)); // "loWorld"
// 两个参数,7位置上的字符为"r",但不包括结束位置的字符
alert(str.slice(3,7)); // "loWo"

2. 🎜>


slice()方法会将传入的负值与字符串长度相加。
 var str ="helloWorld";
// 一个参数,与字符串长度相加即为slice(7)
alert(str.slice(-3)); // "rld"
// 两个参数,与字符串长度相加即为slice(3,6)
alert(str.slice(3,-4)); // "loW"
3. Lorsque le deuxième paramètre est plus petit que le premier paramètre :


Le deuxième paramètre transmis par la tranche. () Si les deux paramètres sont plus petits que le premier paramètre, une chaîne vide est renvoyée.



var str ="helloWorld";
alert(str.slice(5,3)); // ""
4. Compatibilité IE


Sous le test du navigateur IE8, il n'y a pas de problème, le comportement est le même comme navigation moderne L'appareil est cohérent.


substring()

Définition : Accepte un ou deux paramètres, le premier paramètre spécifie la position de départ de la sous-chaîne. Le deuxième paramètre représente la position de fin de la sous-chaîne (à l'exclusion du caractère en position de fin). Si le deuxième paramètre n'est pas transmis, la longueur de la chaîne est utilisée comme position de fin.


1. Lorsque le paramètre passé est une valeur positive : même comportement que la méthode slice()



var str ="helloWorld";
// 一个参数,则将字符串长度作为结束位置
alert(str.substring(3)); // "loWorld"
// 两个参数,7位置上的字符为"r",但不包括结束位置的字符
alert(str.substring(3,7)); // "loWo"
2. Passage Lorsque les paramètres sont négatifs : La méthode


substring() convertira tous les paramètres négatifs en 0. Regardons un exemple :



var str ="helloWorld";
// 两个参数,-4会转换为0,相当于substring(3,0) -->即为 substring(0,3)
alert(str.substring(3,-4)); // "hel"
La méthode substring() utilisera le plus petit nombre comme position de départ et le plus grand nombre comme position de fin. Comme dans l'exemple ci-dessus, substring(3,0) et substring(0,3) ont le même effet.


4. Compatibilité IE


Sous le test du navigateur IE8, il n'y a aucun problème et le comportement est cohérent avec les navigateurs modernes.


substr()

Définition : Accepte un ou deux paramètres, le premier paramètre spécifie la position de départ de la sous-chaîne. Le deuxième paramètre est quelque peu différent de la méthode précédente, indiquant le nombre de caractères renvoyés. Si aucun deuxième argument n'est passé, la longueur de la chaîne est utilisée comme position de fin. Regardons un exemple :


1. Le paramètre passé est une valeur positive :



var str ="helloWorld";
// 一个参数,则将字符串长度作为结束位置
alert(str.substr(3)); // "loWorld"
// 两个参数,从位置3开始截取后面7个字符
alert(str.substr(3,7)); // "loWorld"
2. le paramètre est une valeur négative Cas :


La méthode substr() ajoutera le premier paramètre négatif à la longueur de la chaîne et convertira le deuxième paramètre négatif en 0.



var str ="helloWorld";
// 将第一个负的参数加上字符串的长度--->
//即为:substr(7,5) ,从位置7开始向后截取5个字符
alert(str.substr(-3,5)); // "rld"
// 将第二个参数转换为0
// 即为:substr(3,0),即从位置3截取0个字符串,则返回空
alert(str.substr(3,-2)); // ""
3. Compatibilité IE


Il y aura des problèmes lorsque la méthode substr() transmet des valeurs négatives. chaîne originale. IE9 résout ce problème.

Permettez-moi de vous présenter les différences entre slice, substr et substring

Tout d'abord, ils reçoivent tous les deux deux paramètres Slice et substring reçoivent la position de départ et la. position de fin. (à l'exclusion de la position de fin), tandis que substr reçoit la position de départ et la longueur de la chaîne à renvoyer. Regardez directement l'exemple suivant :



 var test = 'hello world';
  alert(test.slice(,));    //o w
  alert(test.substring(,));   //o w
  alert(test.substr(,));   //o world
Une chose à noter ici est : la sous-chaîne utilise le plus petit des deux paramètres comme position de départ. Le paramètre sert de position finale.


Par exemple :


alert(test.substring(7,4));   //o w
Ensuite, lorsque le paramètre reçu est un nombre négatif, slice comparera la longueur de sa chaîne avec les nombres négatifs correspondants sont ajoutés et le résultat est utilisé comme paramètre ; substr ajoute simplement le premier paramètre à la longueur de la chaîne car le premier paramètre convertit simplement tous les paramètres négatifs directement en 0 ; Le code de test est le suivant :


var test = 'hello world';  
alert(test.slice(-));   //rld  
alert(test.substring(-));  //hello world  
alert(test.substr(-));  //rld  
alert(test.slice(,-));  //lo w  
alert(test.substring(,-)); //hel  
alert(test.substr(,-));  //空字符串

Remarque : IE a une erreur dans la gestion de substr lors de la réception de valeurs négatives, et il renverra la chaîne d'origine.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn