Languages :: DHTML, JScript :: trim () function in javascript ? Fonction manquante ? |
|||
| By: Bernard |
Date: 27/03/2006 12:58:13 |
Points: 20 | Status: Answered Quality : Excellent |
| Pourquoi n'y a-t-il pas de fonction standard trim() en Javascript ? j'en ai besoin. | |||
| By: VGR | Date: 27/03/2006 12:59:53 | Type : Answer |
|
| Salut Bernard :D Il est vrai que Javascript n'a PAS la fonction trim(), et il n'a même pas - comme les vieux BASIC, rappelle-toi :D - un left-trim et un right-trim. Il faut donc écrire un truc stupide et inefficace du genre : function leftTrim(sString) { while (sString.substring(0,1) == ' ') sString = sString.substring(1, sString.length); return sString; } function rightTrim(sString) { while (sString.substring(sString.length-1, sString.length) == ' ') sString = sString.substring(0,sString.length-1); return sString; } function trim(sString) { return(leftTrim(rightTrim(sString))); } |
|||
| By: Bernard | Date: 08/04/2006 11:48:55 | Type : Comment |
|
| parfait, merci. | |||
| By: GrandSchtroumpf | Date: 19/06/2008 22:47:06 | Type : Comment |
|
| Je sais que VGR n'est pas un grand amateur d'orienté objet, mais c'est quand même plus propre: // Trim String String.prototype.trim = function() { var a = this.replace(/^\s+/, ''); return a.replace(/\s+$/, ''); }; Ca ajoute la fonction trim() à n'importe quel string. par ex: var stringBresilien = " salut les gars "; var trimmed = stringBresilien.trim(); Cheers, GS. |
|||
| By: VGR | Date: 20/06/2008 00:36:24 | Type : Comment |
|
| je crois que quand j'ai répondu, j'ignorais qu'on pouvait faire le coup du prototype (ou alors ça n'existant pas...) Je ne suis pas un fan des regexps non plus, surtout que là on est sur le client... Quitte à être inefficace, je préfère que ce soit le serveur couillu plutôt que le client léger ;-) |
|||
| By: GrandSchtroumpf | Date: 21/06/2008 13:30:23 | Type : Comment |
|
| Je n'ai pas encore l'habitude de ce forum. Je n'avais pas réalisé que la question était si ancienne. Les regexps ont l'avantage de "trimmer" tous les caractères d'espacement (\s). Ces regexps devraient normalement être très efficaces. Elles n'utilisent pas un "pattern" très compliqué. Tout dépend bien sûr de l'optimisation du moteur de regexp... Les opérations sur les strings dépendent aussi de l'optimisation du moteur. Voir les performances déplorables de IE pour "l'addition" de strings. Bref, il faut faire un peu de benchmarking. Il est aussi important de connaitre la situation "typique". On aura probablement des résultats différents suivant le pourcentage de strings qui doivent être effectivement "trimmés" et suivant le nombre de caractères d'espacement qui doivent être enlevés. Sans connaitre cette situation typique, je donne ma préférence à la solution la plus simple (c-a-d les regexp). |
|||
|
Do register to be able to answer |
|||
©2010 These pages are served without commercial sponsorship. (No popup ads, etc...). Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE.
Please DO link to this page!








