Maison >interface Web >js tutoriel >Comment puis-je vérifier si une chaîne se termine par un caractère spécifique en JavaScript ?

Comment puis-je vérifier si une chaîne se termine par un caractère spécifique en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-22 05:31:16878parcourir

How Can I Check if a String Ends with a Specific Character in JavaScript?

JavaScript prend-il en charge la méthode EndsWith ?

En JavaScript, déterminer si une chaîne se termine par un caractère spécifique peut être obtenu grâce à diverses méthodes. Bien qu'une méthode endWith() dédiée n'était pas disponible nativement dans les versions antérieures, les navigateurs modernes et ES6 fournissent cette fonctionnalité. introduit la méthode endWith(), qui vérifie directement la fin d'une chaîne pour un suffixe spécifié. Sa syntaxe est la suivante :

自定义endsWith() et

Avant ES6, les développeurs utilisaient des fonctions personnalisées pour émulerendsWith(). L'approche la plus efficace, comme indiqué dans la réponse fournie, est la suivante :
string.endsWith(suffix, length)

Cette fonction fonctionne en :

Sauter les comparaisons inutiles à l'aide du deuxième paramètre d'indexOf()

String.prototype.endsWith = function(suffix) {
    return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
Permettre une utilisation transparente dans Internet Explorer

Éviter les expressions régulières complexités
  • Fonction autonome endWith()
  • Si la modification des prototypes natifs n'est pas souhaitable, une fonction autonome peut être utilisée :

Vérification de l'implémentation native

Pour garantir la compatibilité avec les navigateurs susceptibles ne pas avoir de finsWith() natives, une simple vérification avant de définir la fonction personnalisée est recommandée :
function endsWith(str, suffix) {
    return str.indexOf(suffix, str.length - suffix.length) !== -1;
}

Conclusion :

En fonction de la version JavaScript et des exigences de compatibilité du navigateur , le choix entre l'utilisation de la méthode native endWith() ou une implémentation personnalisée varie. Pour les navigateurs modernes et la prise en charge d'ES6, le natif endWith() offre une solution simple et efficace.
if (typeof String.prototype.endsWith !== 'function') {
    String.prototype.endsWith = function(suffix) {
        return this.indexOf(suffix, this.length - suffix.length) !== -1;
    };
}

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