179 votes

String strip() pour JavaScript ?

Quelle est l'implémentation JavaScript propre et efficace pour supprimer les espaces avant et arrière d'une chaîne de caractères ?

Par exemple :

" dog"

"dog "

" dog "

" dog "

se transforment tous en

"dog"

202voto

David Andres Points 13569

Utilisez ça :

if(typeof(String.prototype.trim) === "undefined")
{
    String.prototype.trim = function() 
    {
        return String(this).replace(/^\s+|\s+$/g, '');
    };
}

La fonction trim sera désormais disponible en tant que fonction de première classe sur vos chaînes. Par exemple :

" dog".trim() === "dog" //true

EDIT : T

J'ai suivi l'idée de Matthew Crumley de renifler la fonction trim avant de la recréer. Ceci est fait au cas où la version de JavaScript utilisée sur le client est plus récente et possède donc sa propre fonction de découpage native.

147voto

user638373 Points 749

Pour les utilisateurs de Jquery, que diriez-vous de $.trim(s)

98voto

jpatokal Points 6061

Gumbo l'a déjà noté dans un commentaire, mais cela mérite d'être répété en guise de réponse : la trim() a été ajoutée en JavaScript 1.8.1 et est prise en charge par tous les navigateurs modernes (Firefox 3.5+, IE 9, Chrome 10, Safari 5.x), bien que IE 8 et les versions antérieures ne la prennent pas en charge. L'utilisation est simple :

 "  foo\n\t  ".trim() => "foo"

Voir aussi :

12voto

Mic Points 13418

Voici la fonction que j'utilise.

function trim(s){ 
  return ( s || '' ).replace( /^\s+|\s+$/g, '' ); 
}

8voto

Gumbo Points 279147

Steven Levithan a écrit une fois sur la façon de mettre en œuvre un Découpage JavaScript plus rapide . Cela vaut vraiment le coup de jeter un coup d'œil.

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