auf zahlen und korektheit überprüfen...
Till
- javascript
hio da draußen...
ich stehe gerade vor 2 kleinen problemen undzwar:
1. ich möchte entweder eine input so machen das man nur zahlen darin
schreiben kann oder checken lassen ob nur zahlen drin sind mit
value.indexOf oder so nur weiß ich nicht wie das geht )-:
kann mir jemand helfen?
2. ich möchte ein feld prüfen lassen ob es eine korekte url ist
(ftp://, http://, www. usw.) wie kann ich das anstellen ich habe
es schonmal versucht aber es hat nicht geklappt kann mir jemand
etwas fertiges geben oder zeigen?
bitte dringent um hilfe...
mfg Till
hio da draußen...
ich stehe gerade vor 2 kleinen problemen undzwar:
- ich möchte entweder eine input so machen das man nur zahlen darin
schreiben kann oder checken lassen ob nur zahlen drin sind mit
value.indexOf oder so nur weiß ich nicht wie das geht )-:
kann mir jemand helfen?
- ich möchte ein feld prüfen lassen ob es eine korekte url ist
(ftp://, http://, www. usw.) wie kann ich das anstellen ich habe
es schonmal versucht aber es hat nicht geklappt kann mir jemand
etwas fertiges geben oder zeigen?
bitte dringent um hilfe...
mfg Till
Hi Till,
zu 1. versuch´s mit IsNumeric(testInputstring), gibt Dir true zurück, wenn sich der String in eine gültige Zahl umwandeln lässt. Allerdings akzeptiert diese Funktion auch Kommastellen, müsstest Du dann bei Bedarf noch abtesten. Ansonsten musst Du über die ASCII-Werte der einzelnen Buchstaben gehen. Wenn Du dazu ein Script willst, dann melde Dich unter mark.pohl@stadt-chemnitz.de, habe sowas da...
Bei 2.: Was wilsst Du da eigentlich abprüfen? Willst Du den Synatx einer URL abprüfen, das kannste mit Stringoperationen machen, obs eine existierende URL ist, kannst Du meines Wissens mit Javascript so ohne Weiteres nicht prüfen (lasse mich aber gern eines Besseren belehren...)
MfG
Mark
Hallo,
- ich möchte entweder eine input so machen das man nur zahlen darin
schreiben kann oder checken lassen ob nur zahlen drin sind mit
value.indexOf oder so nur weiß ich nicht wie das geht )-:
versuch´s mit IsNumeric(testInputstring), gibt Dir true zurück, wenn sich der String in eine gültige Zahl umwandeln lässt. Allerdings akzeptiert diese Funktion auch Kommastellen, müsstest Du dann bei Bedarf noch abtesten. Ansonsten musst Du über die ASCII-Werte der einzelnen Buchstaben gehen.
AFAIK ginge das am einfachsten mit einem regulären Ausdruck. In JavaScript habe ich mit selbigen nicht gearbeitet, aber das dürfte ungefähr so aussehen:
var pattern=/^\d+$/; // siehe http://selfhtml.teamone.de/javascript/objekte/regexp.htm#allgemeines, "Syntax regulärer Ausdrücke"
if (pattern.test(document.formular.eingabefeld.value)) { // Siehe http://selfhtml.teamone.de/javascript/objekte/regexp.htm#test
// eingegebener String ist ein Zahl
// (...Code...)
}
Dies könnte in einer Funktion untergebracht werden, welche bei onsubmit aufgerufen wird.
Abgesehen davon sollte darüber nachgedacht werden, die Überprüfung serverseitig durchführen zu lassen, falls die Seite für eine öffentliche HTTP-Umgebung mit heterogener Benutzergruppe geplant ist, denn JavaScript kann der Benutzer aussschalten und somit funktioniert die Abfrage nicht und es können fehlerhafte Daten eingegeben werden. In Perl http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm und PHP http://www.php.net/manual/de/ref.pcre.php kannst genauso mit regulären Ausdrücken gearbeitet werden.
- ich möchte ein feld prüfen lassen ob es eine korekte url ist
(ftp://, http://, www. usw.) wie kann ich das anstellen ich habe
es schonmal versucht aber es hat nicht geklappt kann mir jemand
etwas fertiges geben oder zeigen?
Was wilsst Du da eigentlich abprüfen? Willst Du den Synatx einer URL abprüfen, das kannste mit Stringoperationen machen, obs eine existierende URL ist, kannst Du meines Wissens mit Javascript so ohne Weiteres nicht prüfen (lasse mich aber gern eines Besseren belehren...)
Ebenfalls RegExps. Jedoch ist das Überprüfen einer URL sehr schwer, am besten kopiert man sich aus einem vollständigen Regulären Ausdruck die Subpatterns für HTTP und FTP heraus: http://www.foad.org/~abigail/Perl/url2.html. Eine bessere Quelle kann ich nicht finden, vor allem streikt das Archiv momentan. Dort dürfte man aber eine Lösung finden, da es eine FAQ ist.
"www.domain.de" ist keine gültige URI und würde durch o.g. RegExp nicht erkannt werden. Diesbezüglich könntest du dir das Perlmodul URI:Heuristics ansehen.
Mathias