Strings und Substrings mit Javascript teilen

02. August 2010  |  Kommentar schreiben   |  Tags: , ,



Bei Facebook teilen

Javascript bietet eine schöne Range an Funktionen, die mit Zeichenketten/Strings arbeiten. Ähnlich zu der PHP Funktion substr, gibt es die Funktion substr() auch in Javascript, die es zulässt, eine Zeichenkette von vorne oder hinten abzuschneiden. Im Kombination mit AJAX wird diese Funktion sehr nützlich und sehr oft benutzt. Wir werden die Funktion vorstellen und später ein sehr interessantes Beispiel einer Javascript Funktion betrachten, die die Anzahl der Zeilen vom Wert einer Textarea zurückgibt.

Funktion

Syntax: ZEICHENKETTE.substr(nStart, nLaenge)

Beispielsfunktion:

var sString = "Hallo Welt!";
alert(sString.substr(6));

Resultat: “Welt!” – es wurde bei der Javascript Funktion vom ersten zum letzten Zeichen geschnitten.

Parameter

nStart - der Parameter ist erforderlich und gibt an ab welchem Zeichen die neue Zeichenkeitte starten soll.
nLaenge – der Parameter ist nicth erforderlich und gibt an wie lang in Zeichen die neue Zeichenkette sein wird. Sollten sie den Parameter nicht angeben – wie auf dem ersten Beispiel oben – so wird die Zeichenkette ab nStart zum Ende abgeschnitten.

Vertiefung der Funktion und Anwendungsbeispiele

Um die Funktionsweise zu vertiefen, werden wir eine Funktion zur Ermittlung der Anzahl der Zeilen einer Textarea betrachten, die wir nutzen, um programmiertechnisch den Wert des Attributes “rows” zu beeinflussen, so dass der in der Textarea eingegebene Text immer sichtbar ist ohne Scrollbalken, Facebook Style. Die Funktion werden wir in den nächsten Artikel näher betrachten.


function BerechneTextAreaHoehe(tarea) {    
    var nCounter = 1;
    var sNeedle = "\n";
    for (var i=0;i< tarea.value.length;i++) {
        if (sNeedle == tarea.value.substr(i,sNeedle.length)) {
            nCounter++;
        }
    }    
    tarea.rows=nCounter;
}

Was passiert in der oberen Funktion?

 - es wird der zur Zeit eingegebene Wert einer als Parameter übergebenen Textarea Zeichen für Zeichen abgeschnitten
 - Sofern ein Abschnitt gleich der Zeichenkette “\n” (weicher Return) ist, so wird der Counter um eins erhöht.
 - Am Ende wird entweder 1 oder die größer 1 Zahl zurückgegeben.

Wenn diese Funktion bei jedem Tastendruck angewendet wird, so kann das Attribut rows manipuliert werden. Dazu aber in unseren nächten Artikeln.

Bei jäglichen Fragen stehen wir gerne zur Verfügung.

Teilen

Hinterlasse eine Antwort

Du musst angemeldet sein, um einen Kommentar abzugeben.