Wie kann ich eine Zeichenkette in JavaScript kürzen? Das heißt, wie entferne ich alle Leerzeichen am Anfang und am Ende der Zeichenfolge in JavaScript?
Es ist erwähnenswert, dass in jQuery, $.trim(str)
ist immer verfügbar.
Wie kann ich eine Zeichenkette in JavaScript kürzen? Das heißt, wie entferne ich alle Leerzeichen am Anfang und am Ende der Zeichenfolge in JavaScript?
Alle Browser seit IE9+ haben trim()
Methode für Zeichenketten:
" \n test \n ".trim(); // returns "test" here
Für jene Browser, die nicht unterstützen trim()
können Sie dieses Polyfill von 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, '');
};
})();
}
Das heißt, wenn Sie jQuery
, $.trim(str)
ist ebenfalls verfügbar und behandelt undefiniert/null.
Siehe dies:
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,' ');};
Die Verkleidung aus jQuery ist praktisch, wenn Sie diesen Rahmen bereits verwenden.
$.trim(' your string ');
Ich neige dazu, jQuery oft zu verwenden, so dass das Trimmen von Zeichenfolgen mit ihm ist natürlich für mich. Aber es ist möglich, dass es eine Gegenreaktion gegen jQuery da draußen?)
Obwohl es oben eine Reihe von richtigen Antworten gibt, sollte man beachten, dass die String
Objekt in JavaScript hat eine eigene .trim()
Methode ab ECMAScript 5 . Daher sollte bei jedem Versuch, einen Prototyp für die Trimm-Methode zu erstellen, zuerst geprüft werden, ob sie bereits existiert.
if(!String.prototype.trim){
String.prototype.trim = function(){
return this.replace(/^\s+|\s+$/g,'');
};
}
Nativ hinzugefügt in: JavaScript 1.8.1 / ECMAScript 5
So unterstützt in:
Firefox: 3.5+
Safari: 5+
Internet Explorer: IE9+ (nur im Standardmodus!) http://blogs.msdn.com/b/ie/archive/2010/06/25/enhanced-scripting-in-ie9-ecmascript-5-support-and-more.aspx
Chrom: 5+
Oper: 10.5+
ECMAScript 5-Unterstützungstabelle: http://kangax.github.com/es5-compat-table/
Es gibt eine Vielzahl von Umsetzungen die verwendet werden können. Die naheliegendste scheint so etwas zu sein wie diese:
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, "");
};
" foo bar ".trim(); // "foo bar"
Einfache Version hier Was ist eine allgemeine Funktion für JavaScript-Trim?
function trim(str) {
return str.replace(/^\s+|\s+$/g,"");
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
296 Stimmen
Es ist erwähnenswert, dass zwei Jahre nachdem diese Frage gestellt wurde, String.trim() nativ in JavaScript 1.8.1 / ECMAScript 5 hinzugefügt wurde, unterstützt in: Firefox 3.5+, Chrome/Safari 5+, IE9+ (nur im Standardmodus!) siehe die Antwort von scunliffe: stackoverflow.com/a/8522376/8432
47 Stimmen
String.trim()
funktioniert auch in Node.js ohne Probleme.47 Stimmen
Um pingelig zu sein:
String.trim()
, die Klassenmethode, gibt es in ES5/Node.js nicht; stattdessen,String.prototype.trim()
, die Instanzmethode, existiert. Verwendung:' foo '.trim()
pasString.trim(' foo ')
.3 Stimmen
String.trim() funktioniert auch in Google Apps Script!
40 Stimmen
OMG, es ist 2013 und IE9 im Kompatibilitätsmodus hat keine trim() Methode auf String!
80 Stimmen
Es ist erwähnenswert, dass in jQuery,
$.trim(str)
ist immer verfügbar.1 Stimmen
Das Traurige daran ist, dass es kein ltrim und rtrim gibt.
0 Stimmen
String.trim()
gilt nur für Leerzeichen. Trimmen sollte 2016 mehr sein als das...1 Stimmen
Dieses Beispiel zeigt, wie man eine Zeichenkette mit JavaScript trimmt: javascriptstutorial.com/blog/trim-string
0 Stimmen
developer.mozilla.org/de-US/docs/Web/JavaScript/Reference/