Comment couper une chaîne de caractères en JavaScript ? Autrement dit, comment supprimer tous les espaces du début et de la fin d'une chaîne en JavaScript ?
Il convient de noter que dans jQuery, $.trim(str)
est toujours disponible.
Comment couper une chaîne de caractères en JavaScript ? Autrement dit, comment supprimer tous les espaces du début et de la fin d'une chaîne en JavaScript ?
Tous les navigateurs depuis IE9+ ont trim()
pour les chaînes de caractères :
" \n test \n ".trim(); // returns "test" here
Pour les navigateurs qui ne prennent pas en charge trim()
vous pouvez utiliser ce polyfill à partir de MDN :
if (!String.prototype.trim) {
(function() {
// Make sure we trim BOM and NBSP
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
Cela dit, si vous utilisez jQuery
, $.trim(str)
est également disponible et traite les cas indéfinis/nuls.
Regardez ça :
String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g, '');};
String.prototype.ltrim=function(){return this.replace(/^\s+/,'');};
String.prototype.rtrim=function(){return this.replace(/\s+$/,'');};
String.prototype.fulltrim=function(){return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,'').replace(/\s+/g,' ');};
La garniture de jQuery est pratique si vous utilisez déjà ce cadre.
$.trim(' your string ');
J'ai tendance à utiliser souvent jQuery, et il est donc naturel pour moi de couper les chaînes de caractères avec. Mais il est possible qu'il y ait un retour de bâton contre jQuery :)
Bien qu'il y ait un tas de bonnes réponses ci-dessus, il faut noter que la String
en JavaScript a un objet natif .trim()
à partir de ECMAScript 5 . Ainsi, idéalement, toute tentative de prototypage de la méthode de compensation devrait d'abord vérifier si elle existe déjà.
if(!String.prototype.trim){
String.prototype.trim = function(){
return this.replace(/^\s+|\s+$/g,'');
};
}
Ajouté nativement dans : JavaScript 1.8.1 / ECMAScript 5
Ainsi soutenu dans :
Firefox : 3.5+
Safari : 5+
Internet Explorer : IE9+. (en mode standard uniquement !) http://blogs.msdn.com/b/ie/archive/2010/06/25/enhanced-scripting-in-ie9-ecmascript-5-support-and-more.aspx
Chrome : 5+
Opéra : 10.5+
Tableau de support ECMAScript 5 : http://kangax.github.com/es5-compat-table/
Il y a beaucoup de mises en œuvre qui peuvent être utilisés. Le plus évident semble être quelque chose comme ceci :
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, "");
};
" foo bar ".trim(); // "foo bar"
Version simple ici Quelle est une fonction générale pour l'habillage JavaScript ?
function trim(str) {
return str.replace(/^\s+|\s+$/g,"");
}
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.
295 votes
Il est intéressant de mentionner que deux ans après que cette question ait été posée, String.trim() a été ajouté nativement dans JavaScript 1.8.1 / ECMAScript 5, supporté dans : Firefox 3.5+, Chrome/Safari 5+, IE9+ (en mode Standards uniquement !) voir la réponse de scunliffe : stackoverflow.com/a/8522376/8432
47 votes
String.trim()
fonctionne également très bien dans Node.js.47 votes
Pour pinailler :
String.trim()
la méthode de classe, n'existe pas dans ES5/Node.js ; à la place,String.prototype.trim()
la méthode d'instance, existe. Utilisation :' foo '.trim()
pasString.trim(' foo ')
.3 votes
String.trim() fonctionne aussi dans le script de Google Apps !
40 votes
OMG, nous sommes en 2013 et IE9 en mode compat n'a pas de méthode trim() sur String !
80 votes
Il convient de noter que dans jQuery,
$.trim(str)
est toujours disponible.1 votes
La chose triste est qu'il n'y a pas de ltrim et rtrim
0 votes
String.trim()
est uniquement pour les caractères d'espacement. L'élagage devrait être plus important que cela en 2016...1 votes
Référez-vous à cet exemple pour découper une chaîne de caractères en utilisant JavaScript : javascriptstutorial.com/blog/trim-string
0 votes
developer.mozilla.org/fr/US/docs/Web/JavaScript/Référence/