Teilstring vergleichen ?
$xNeTworKx
- javascript
0 DerPilz
Hi,
Kleine Problem :
Wie kann ich eine Eingabe mit Javascript so überprüfen, dass eine Reihe von Teilstrings mit dem zu überprüfenden String verglichen wird. In Perl würde das sehr einfach gehen, nämlich if ... /swf|gif|jpe?g|png/... usw
aber in Javascript ?
Mit einem Wert funktioniert es so :
if (document.eingabeform.usergrafik.value != "") {
usergrafik = document.eingabeform.usergrafik.value;
if ((usergrafik.substring(usergrafik.length - 4, usergrafik.length) != '.gif') || (usergrafik.substring(0, 7) != 'http://')) {
alert('Die Usergrafik muss mit http:// anfangen und mit .swf, .gif, .jp(e)g, oder .png enden !');
document.eingabeform.usergrafik.focus();
return false;
}
}
Aber wenn ich eine Reihe von Werten habe, will es nicht mehr so Recht.
habe auch schon versucht mit Arrays und for Schleifen zu arbeiten, aber da entstehen noch mehr Probleme.
Wie könnte man das effizient lösen ?
$xNeTworKx.
Hi,
ich bin mir nicht sicher was du willst, aber ich denke es würde sich mal lohnen für dich unter http://selfhtml.teamone.de/javascript/objekte/string.htm#index_of mal zu informieren. dazu gibt es noch die abfrage lastIndexof();, könnte auch von interersse sein.
wie gesagt weiß nicht ob es das war was du suchst.
DerPilz
Hi,
ich bin mir nicht sicher was du willst, aber ich denke es würde sich mal lohnen für dich unter http://selfhtml.teamone.de/javascript/objekte/string.htm#index_of mal zu informieren. dazu gibt es noch die abfrage lastIndexof();, könnte auch von interersse sein.
Nicht wirklich weil ich nicht nur einen Werte habe, nachdem ich im Text suche, sondern 5.
$xNeTworKx.
Nachtrag :
Genauer gesagt muss ich diesen regulären Perl Ausdruck nach Javascript portieren :
/^http://[A-Za-z0-9./-_]+?.(swf|gif|jpe?g|png)$/
Moin!
Nachtrag :
Genauer gesagt muss ich diesen regulären Perl Ausdruck nach Javascript portieren :
/^http://[A-Za-z0-9./-_]+?.(swf|gif|jpe?g|png)$/
Ja, dann mach doch einfach.
http://selfhtml.teamone.de/javascript/objekte/string.htm#match
http://selfhtml.teamone.de/javascript/objekte/regexp.htm
Anmerkung: Javascript hat manchmal ein paar Eigenheiten, was reguläre Ausdrücke angeht. 100% Perl-kompatibel sind sie jedenfalls nicht, das betrifft aber AFAIK nicht die einfachen Dinge, sondern komplexere Konstrukte.
- Sven Rautenberg
Hi Sven,
danke, ich habs grad geschafft, und wollte es posten. Habs jetzt so gemacht:
if (document.eingabeform.usergrafik.value != "") {
usergrafik = document.eingabeform.usergrafik.value;
uebereinstimmung = usergrafik.match(/.swf|.gif|.jpeg|.jpg|.png/);
if ((!uebereinstimmung) || (usergrafik.substring(0, 7) != 'http://')) {
alert('Die Usergrafik muss mit http:// anfangen und mit .swf, .gif, .jp(e)g, oder .png enden !');
document.eingabeform.usergrafik.focus();
return false;
}
}
$xNeTworKx.