|
||||||||||
|
JS JavaScript & JScript
|
Die Funktion trim() entfernt nicht sichtbare Zeichen - sogenannte Whitespaces - sowohl am Anfang als auch Ende einer Zeichenkette und gehört zur Gruppe der Stringoperationen. Es werden unter anderem Leerzeichen, Tabulatoren und Zeilenumbrüche entfernt.
Ähnliche Funktionen sind
Leider stellen JavaScript und JScript diese nützlichen Funktionen nicht zur Verfügung. Sie müssen also im Bedarfsfall von Hand nachgerüstet werden.
Abhängig von der verwendeten Sprachversion sind zwei unterschiedliche Lösungen für eine trim() Funktion möglich. Entweder wählt man die elegante Methode über reguläre Ausdrücke, welche mindestens Javascript 1.2 bzw. die äquivalente JScript Version voraussetzt, oder man entscheidet sich für die etwas langsamere Variante mit Zeichenkettenvergleichen, die dafür aber universell bei allen JavaScript und JScript Versionen funktionieren sollte.
Nachfolgend finden Sie für beide Ansätze ein Script mit der entsprechenden Lösung.
Syntax:
string trim_10 ( string str )
Quelltext:
Erläuterungen:
| 2: | stellt sicher, dass die Variable str vorhanden und vom Typ String ist |
| 3: | extrahiert das erste Zeichen des String für den ersten Durchlauf |
| 4: | prüft das extrahierte Zeichen auf Whitespaces |
| 5: | schneidet erstes Zeichen weg |
| 6: | extrahiert das erste Zeichen des String für den nächsten Durchlauf |
| 8: | extrahiert das letzte Zeichen des String für den ersten Durchlauf |
| 9: | prüft das extrahierte Zeichen auf Whitespaces |
| 10: | schneidet letze Zeichen weg |
| 11: | extrahiert das letzte Zeichen des String für den nächsten Durchlauf |
| 13: | gibt den bereinigten String zurück |
Gestestet mit:
Anmerkungen:
Um darüberhinaus geschützte Leerzeichen (Bytewert 160) zu ersetzen, müssen die beiden While-Bedingungen wie folgt geändert werden:while(c==" " || c=="\t" || c=="\n" || c=="\f" || c=="\r" || c==unescape("%A0"))
Soll wie bei der PHP trim() Funktion auch das NUL-Byte (Bytewert 0) ersetzt werden, erweitert man die beiden Bedingungen noch um den Vergleich:c==unescape("%00")
Syntax:
string trim_12 ( string str )
Quelltext:
Erläuterungen:
| 2: | prüft, ob die Variable str vom Typ String ist, entfernt White-Spaces am Anfang und Ende mit Hilfe eines regulären Ausdruck und gibt den bereinigten String zurück |
| 3: | ansonsten wird der Inhalt der Variable str unverändert zurückgegeben |
Gestestet mit:
Anmerkungen:
Alle oben getesteten Browser außer Microsoft Internet Explorer (bis einschließlich Version 6.0) ersetzen ebenfalls geschützte Leerzeichen. Man kann auch den Internet Explorer dazu bewegen, indem man das Suchmuster \s des regulären Ausdrucks durch eine entsprechende Zeichenklasse ersetzt. Der Ausdruck lautet dann:/^[\s\xA0]+|[\s\xA0]+$/g
Sollen wie bei der PHP ltrim() Funktion auch NUL-Bytes (Bytewert 0) ersetzt werden, erweitert man den Ausdruck noch einmal:/^[\s\xA0\x00]+|[\s\xA0\x00]+$/g
Anders als bei den Funktionen ltrim() und rtrim() für Javascript 1.2 muss hier im regulären Ausdruck das Flag g für gobal suchen (= alle Vorkommen finden) gesetzt werden, sonst würde bei Strings mit Whitespaces am Anfang nach dem Entfernen dieser Zeichen gestoppt werden. Um auch die Whitespaces am Ende entfernen zu können, wird der reguläre Ausdruck durch das Flag angewiesen, nicht nur eine sondern alle möglichen Ersetzungen durchzuführen.
Zu diesem Script liegen leider noch keine Bewertungen vor. Vielleicht möchten ja Sie der Erste sein, der eine Bewertung oder einen Kommentar hierzu abgibt. Also, worauf warten Sie noch?
► Bewertung für dieses Script schreiben.
Haben Ihnen diese Informationen weitergeholfen oder haben Sie an dieser Stelle etwas anderes erwartet?
Mit Ihrem Feedback können Sie helfen, die Qualität der infocamp.de Inhalte zu verbessern.
| Die infocamp.de Bereiche |
Spiele ( Computerspiele ) |
| Alle JavaScripte nach... |
Alphabet Kategorie Typ |
| Anzeigen |
| Ähnliche Scripte |
| Weitere JavaScript |
htmlentities() Funktion |
| Angebote bei eBay |