75 votes

La chaîne JavaScript ou jQuery se termine par la fonction utilitaire

Quel est le moyen le plus simple de déterminer si une chaîne se termine par une certaine valeur?

151voto

cloudhead Points 10279

vous pouvez utiliser Regexps, comme ceci:

 str.match(/value$/)
 

qui renverrait true si la chaîne a pour valeur 'valeur' ($).

39voto

Luca Matteis Points 19338

Volé de prototypejs:

 String.prototype.endsWith = function(pattern) {
    var d = this.length - pattern.length;
    return d >= 0 && this.lastIndexOf(pattern) === d;
};

'slaughter'.endsWith('laughter');
// -> true
 

9voto

Chetan Sastry Points 14742

Expressions régulières

 "Hello world".match(/world$/)
 

5voto

theJerm Points 1521

Je n'ai pas eu de chance avec l'approche du match, mais cela a fonctionné:

Si vous avez la chaîne, "Ceci est ma chaîne." et je voulais voir si ça se terminait par un point, faites ceci:

 var myString = "This is my string.";
var stringCheck = ".";
var foundIt = (myString.lastIndexOf(stringCheck) === myString.length - stringCheck.length) > 0;
alert(foundIt);
 

Vous pouvez changer la variable stringCheck pour qu’elle soit une chaîne à vérifier. Mieux encore serait de jeter ceci dans votre propre fonction comme ceci:

 function DoesStringEndWith(myString, stringCheck)
{
    var foundIt = (myString.lastIndexOf(stringCheck) === myString.length - stringCheck.length) > 0;
    return foundIt;
}
 

0voto

Jaime Hablutzel Points 1442

Vous pouvez toujours créer un prototype de la classe String, cela fonctionnera:

String.prototype.endsWith = function (str) {return (this.match (str + "$") == str)}

Vous pouvez trouver d'autres extensions connexes pour String class dans http://www.tek-tips.com/faqs.cfm?fid=6620

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X