Trim
Peter Pan
- javascript
0 murkser0 Tim Tepaße
Hi,
gibt es in Javascript den Befehl TRIM?
Ich habe ein bissel gegoogelt und Scripte gefunden wo es verwendet wird. Aber bei mir mag er den Befehl nicht.
Bekomme immer einen Fehler.
Beispiel:
var a=" Start ";
var b;
alert(a);
b = trim(a); <---- Hier bekomme ich den Fehler...
alert(b);
Danke im Vorraus.
Gurss Peter
Hallo,
die Funktion trim() gibt es meines Wissens nicht in JavaScript, also mußt du sie dir selberschreiben:
function trim(s) {
while (s.substring(0,1) == ' ') {
s = s.substring(1,s.length);
}
while (s.substring(s.length-1,s.length) == ' ') {
s = s.substring(0,s.length-1);
}
return s;
}
Grüsse,
murkser
Ok, super. Dank dir.
hallo Ihr Beiden,
das ganze laesst sich auch als richtige methode fuer
javascript-"String"-objekte umsetzen. wenn man dann
noch regulaere ausdruecke verwendet, gelingt es einem
einzeiler, tatsaechlich _alle_moeglichen_ leerzeichen aus
einem string zu entfernen.
und hier nochmal ein link zu meinereinigem ausfuehrlichen
loesungsweg zu diesem problem, der am 27. 04. 2005 im
forum irgendwie untergegangen schien:
http://forum.de.selfhtml.org/archiv/2005/4/t106433/#m659975
so long - peterS. - pseliger@gmx.net
Hi,
dein Script ist echt gut aber es gibt ein Problem wenn ein Feld leer ist.
Wenn ich z.B.:
var a = document.getElementsByName("xxx")[0].value.basicTrim;
benutze und das Feld leer ist, dann bekomme ich immer undefined zurück geliefert. Dies müsste vielleicht noch abgefangen werden.
Sonst aber spitze.
Gruss Peter
gruss Peter Pan,
... es gibt ein Problem wenn ein Feld leer ist.
Wenn ich z.B.:
<spitzfindig>
var a = document.getElementsByName("xxx")[0].value.basicTrim;
--------------------------------------------------^^^^^^
ohne den call-operator "()" referenzierst DU die funktion nur.
</spitzfindig>
Du hast die methode aber vermutlich mit den klammern aufgerufen,
da Du schreibst, dass diese "undefined" zurueckgibt - nun diesen
wert erhaelst Du, weil in Deinem fall mit hundertprozentiger
sicherheit davon auszugehen ist, dass schon der Wert aus
document.getElementsByName("xxx")[0].value
nicht korrekt ist.
Dies müsste vielleicht noch abgefangen werden.
glaub mir, das ist genau richtig, so wie es da steht ;-)
Sonst aber spitze.
das ist nur der einstieg in javascript.
by(t)e by(t)e - peterS. - pseliger@gmx.net
Hi,
das ist nur der einstieg in javascript.
Wobei mir da Murksers Variante deutlich besser gefällt, da sie keinerlei spezielle JS-Version voraussetzt.
Und bei einer solch grundlegenden Funktion, ist das IMHO absolut angebracht - und ja auch kein Overkill. ;-) Ich selbst verwende eine ähnliche Variante.
Gruß, Cybaer
hallo Cybaer,
Wobei mir da Murksers Variante deutlich besser gefällt, da sie keinerlei
spezielle JS-Version voraussetzt.Und bei einer solch grundlegenden Funktion, ist das IMHO absolut
angebracht - und ja auch kein Overkill. ;-) Ich selbst verwende
eine ähnliche Variante.
ich stimme Dir vollkommen zu.
wenn ich dieses beispiel ab und an mal auspacke, sehe ich mich ja auch
mehr als *boeser dealer*, der hilfsbereit und voellig uneigennuetzig eine
fertige loesung des problems feilbietet, dabei aber hofft, das einige der
noch ahnungslosen opfer einem schoenen javascript-flash erliegen.
trim-methoden mit regulaeren ausdruecken umgesetzt als string-prototypen
sind ganz gut zum kostenlosen anfixen geeignet, denke ich ;-)
so long - peterS. - pseliger@gmx.net
Hi,
trim-methoden mit regulaeren ausdruecken umgesetzt als string-prototypen
sind ganz gut zum kostenlosen anfixen geeignet, denke ich ;-)
ROTFL. :))
Gruß, Cybaer
Hallo Peter,
gibt es in Javascript den Befehl TRIM?
Anscheinend nicht, d.h. man muß das selbst programmieren. Wirklich schwer isses nicht. Hier mal eine dahingehauene (=ungetestete) Lösung mit einem Regulären Ausdruck:
string = string.replace(/^\s*(S)\s*$/, '$1);
Tim