Archiv für die Kategorie ‘Programmierungen’

Zeichenkette mit Javascript in Kleinbuchstaben umwandeln

Dienstag, 03. April 2012

Genau wie in PHP, bietet Javascript eine breite Reichweite an Funktionen, die schnell Zeichenketten/Strings manipulieren können. Nützlich für Textvergleiche, wo Groß- und Kleinschreibung nicht beachtet werden soll, ist die JS Funktion, die wir nachfolgend präsentieren möchten. Die Funktion können Sie ohne Ausnahmen einsetzen.

JS Funktion zur Umwandlung von Strings in Kleinbuchstaben

Angenommen, Sie haben einen String sStr:

var sStr = '';
sStr = 'Mein Name ist Michael Müller';

alert(sStr.toLowerCase());

Die Funktion toLowerCase() wird per Punkt-notation angewandt und als Ergebnis bekämen Sie mein name ist michael müller. Wichtig – stellen Sie sicher, dass sStr tatsächlich eine Zeichenkette ist, damit Sie keine unerwartete Ergebnisse bekommen. Sollten Sie nicht wissen, was Sie für einen Parameter bekommen, so können Sie eine String-konvertierung programmieren:

sStr = sStr+'';

Hier erzwingen Sie Javascript Ihre Variable als String zu betrachten.

Einsatz – Textvergleich ohne Beachtung von Groß- und Kleinschreibung

Sie können diese Funktion für einen “case insensitive” Vergleich von Strings nutzen, in dem Sie sie auf beide zu vergleichenden Parameter anwenden, bevor diese verglichen werden sollen. Somit vergleichen Sie ausschließlich Kleinbuchstaben. So etwa wie dieser kleine Programmiersnippet:


var sStr1 = 'Michael müller';
var sStr2 = 'michael Müller';
sStr1_Klein = sStr1.toLowerCase();
sStr2_Klein = sStr2.toLowerCase();

/*####VERGLEICH OHNE BEACHTUNG KLEIN- UND GROß SCHREIBUNG####*/

if (sStr1_Klein==sStr2_Klein)
alert('Beide Zeichenketten sind gleich');

/*####VERGLEICH MIT BEACHTUNG KLEIN- UND GROß SCHREIBUNG####*/

if (sStr1==sStr2)
alert('Die Zeichenketten sind nicht gleich');

Korrekte Endlosschleife mit Javascript und setTimeout

Dienstag, 13. März 2012

Javascript wird mehr und mehr als Alternative zu schönen Flash Animationen eingesetzt und dadurch, dass moderne Browser auch die Hardwarekapazitäten Ihres Rechners gut nutzen können, so lassen sich diverse Effekte und Animationen mit Javascript umsetzen. Oft werden Sie solche Effekte programmieren wollen, wo Sie innerhalb einer endlosen Schleife HTML Elemente versetzen oder Texte und Felder manipulieren. Nachfolgend betrachten wir bewährte Praktiken bei der Implementierung von endlosen Schleifen mit Javascript.

Erste und nicht (mehr) umsetzbare Variante

Eine endlose Schleife können Sie wie folgt implementieren:

while(true) {
Funktion();
}

Dies ist keine gute und keine mögliche Ausführung. Die Problematik liegt darin, dass Sie nicht kontrollieren können wie schnell diese endlose Schleife ausgeführt wird und somit läuft sie so schnell, wie Ihr Rechner kann. Dies erkennen aktuelle Browser und zeigen eine entsprechende Meldung, dass Ihr Skript nicht mehr reagiert und beendet werden soll. Ihr Rechner wird auch dadurch sehr langsam und unter Umständen nicht mehr kontrollierbar. While(true) können Sie einfach vergessen.

Lösung – endlose Schleife mit setTimeout und Javascript umsetzen

Die Funktion setTimeout(Funktion, Zeit) ist wirklich sehr nützlich, mit dieser können Sie einen Funktionsaufruf nach einer bestimmten Verzögerung auslösen. Die erste Frage, die sich herausstellt ist – kann ich doch in while(true) einfach einen setTimeout Aufruf unterbringen? Antwort – nein! Die Ursache dafür ist dass die Ausführung der while(true) Schleife nicht beim Aufruf der setTimeout Funktion selbst verzögert wird – wir kommen dann aufs gleiche Problem mit dem Absturz des Browsers. Es hindert Sie jedoch nichts, eine Rekursion mit setTimeout zu implementieren:

while(true)
function Versetzen(nAbstand) {
VersetzeMichUm(nAbstand);
nAbstand++;
setTimeout("Versetzen('"+nAbstand+"')",1000);
}

Das obige Beispiel zeigt wie eine kontrollierte und endlose Schleife ganz einfach mit JS zu programmieren ist. Was passiert oben?

  • Sie definieren eine Funktion Versetzen, die als Parameter eine Ganzzahl nimmt, z.B. 0.
  • Sie führen eine andere Funktion VersetzeMichUm, die die tatsächliche Bewegung auslöst.
  • Die Ganzzahl wird um eins erhöht (Sie können Ihre Parameter beliebig manipulieren)
  • Erst nach 1000 ms wird die Funktion von sich selbst wieder aufgerufen, jedoch mit einem anderen Parameter – die Ganzzahl, die wir gerade erhöht haben
  • Und so weiter…

Diese Implementierung ist eine bewährte Praktik und wird von allen Browsern ohne Probleme ausgeführt. Durch Änderung der Zeit (1000 ms = 1 sek)  können Sie die endlose Javascript Schleife schneller oder langsamer machen. Solche endlosen Schleifen setzen wir stets in unserem CMS ein, bei der Umsetzung unserer interaktiven Widgets.

Kommen Sie nicht weiter – wir helfen Ihnen gerne, schreiben Sie uns an!

Überarbeitung von Hilfe und Support

Donnerstag, 08. März 2012

Endlich konnten wir uns wieder etwas Zeit für uns selbst nehmen und haben den Bereich Hilfe und Support überarbeitet.

Kostenlose Tools für Webmaster und Entwickler
Hier finden Sie viele nützliche Tools, die Ihnen das Leben erleichtern werden. Angefangen vom QR-Codegenerator über GEO IP (Standort einer IP) bis hin zur MD5 oder SHA1 konvertierung. Schauen Sie sich um, es lohnt sich und ist kostenlos.

SelfSEO – Tipps und Tricks zur Suchmaschinenoptimierung
Wächst und gedeiht. Danke für die zahlreichen Bewertungen und den Erfahrungsaustausch.

Corporate Blogging
Hier gibt es nun auch einen Auszug der letzten Artikel aus diesem Blog. Kurz und knackig.

Medien Glossar
Unser Erklärbär, dass Glossar. Wir haben bereits vor Jahren begonnen ein Grundlagen-Glossar für unseren höchsteigenen Fachbereich zu schaffen. Dieses wurde endlich gestrafft und besser strukturiert.

Offizielles Helpdesk für Administratoren
Riskieren Sie einen Blick hinter die Kulissen und verschaffen Sie sich einen Teileindruck von der Leistungsfähigkeit unserer Produkte.