Trim en Javascript

Pour une raison ou une autre (validation de formulaire par exemple), vous souhaitez, via du code Javascript, supprimer les espaces en trop en début et/ou en fin d'une chaîne de caractères.

Cette fonctionnalité est implémenté dans de nombreux langages et est connue sous les noms de trim (suppression des espaces en début et en fin de chaîne), ltrim (suppression des espaces en début de chaîne) et rtrim (suppression des espaces en fin de chaîne).

Cependant, Javascript ne propose pas ces fonctions ! Le code ci-dessous vous permettra de combler cette lacune ;)

var regExpBeginning = /^\s+/;

var regExpEnd = /\s+$/;  

// Supprime les espaces inutiles en début et fin de la chaîne passée en paramètre.

function trim(aString) {

return aString.replace(regExpBeginning, "").replace(regExpEnd, ""); }

 

// Supprime les espaces inutiles en début de la chaîne passée en paramètre.

function ltrim(aString) {

return aString.replace(regExpBeginning, ""); }

 

// Supprime les espaces inutiles en fin de la chaîne passée en paramètre.

function rtrim(aString) {

return aString.replace(regExpEnd, ""); }

Comments

Ce n'est pas exactement la

Ce n'est pas exactement la fonction trim car elle ne supprime que les espaces.

Il s'agit bien d'une fonction

Il s'agit bien d'une fonction similaire au trim PHP car l'alias "\s" dans les expressions régulières Javascript s'ignifie : espace, retour chariot, tabulation, saut de ligne et saut de page.
Un simple test aurait suffit à t'en rendre compte Eric, plutôt que de nous polluer avec tes commentaires injustifiés et de risquer de détourner certaines personnes de ce code qui peut s'évérer fort utile.

Ok, elle supprime bien les

Ok, elle supprime bien les espaces, c'est juste les commentaires "Supprime les espaces inutiles en début de la chaîne passée en paramètre" autour du code qui m'ont induit en erreur.

Pour les envois triples, je ne suis pas responsable : je ne crois pas savoir cliquer trois fois de suite, après avoir répondu à 3 Captcha quasiment illisibles en moins d'une minute !

Ce n'est pas exactement la

Ce n'est pas exactement la fonction trim car elle ne supprime que les espaces.

Ce n'est pas exactement la

Ce n'est pas exactement la fonction trim car elle ne supprime que les espaces.

Ce n'est pas exactement la

Ce n'est pas exactement la fonction trim car elle ne supprime que les espaces.

trim en JavaScript

un grand merci à papy.reno!

trim en JavaScript

merci à papy.reno!

Encore et toujours merci...

Encore et toujours merci...

La même sous forme de méthode

Un peu plus fun :

String.prototype.trim = function(){
return this.replace(/^\s+/, "").replace(/\s+$/, "");
}

Permet d'écrire :
ma_string.trim()

Alain

Encore mieux

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

fait tout d'un seul coup !

utilisation de trim

Bonjour,

Excusez moi d'être débutant mais comment fais-je le lien avec le script dans mon input ?

cordialement

utilisation de trim (précisions)

Bonjour,

Excusez-moi d'être débutant mais comment je fais le lien entre ce script et mon input ?

Cordialement

Pratique, j'adopte

Pratique, j'adopte :)

Merci

Merci pour ces petits bouts de codes.

pariviere's picture

Mais qu'est ce que tu dois

Mais qu'est ce que tu dois te faire chier au boulot toi dis donc :prayer:

papy.reno's picture

Tssss

Roooh comment t'es mauvaise langue toi ! Oo
Alors, de une, non ces jours-ci, c'est plutôt tendu et de plus, ces fonctions Javascript, je les ai développées justement dans le cadre du boulot :p

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <pre>. The supported tag styles are: <foo>, [foo].

More information about formatting options