ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
1603
1603
EMPFEHLEN
-
Hallo,
wie kann man mit Javascript prüfen, obe die eingegebene Zahl in ein Formularfeld eine Dezimalzahl ist?
Gruß
Arndtinho
-
12.09.06 13:52 #2
- Registriert seit
- Oct 2004
- Ort
- München / Innsbruck
- Beiträge
- 2.263
Könnten noch vereinzelt Fehler drin sein, das Prinzip sollte aber klar werden. Wobei mir nicht so wirklich einleuchten will, was du genau mit "Dezimalzahl" meinst - ich für meinen Teil benutze nämlich eher selten Oktal-, Hexadezimal- oder Binärzahlen und denke deine User werden das ähnlich selten tun.HTML-Code:<form> <input type="text" id="zahlenfeld" /> <input type="button" value="Prüfen" onclick=" alert( document.getElementById('zahlfeld').value.match(/(\d+)|(\d+\.\d+)/) ? 'Eine Zahl' : 'Keine Zahl' ); "> </form>
Geändert von con-f-use (12.09.06 um 13:55 Uhr)
Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?
| Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |
-----------
Zufriedenstellende Beiträge bitte als erledigt markieren!
-
Die User können in einem Feld eine Preisangabe machen.
Ich möchte prüfen, ob eine Zahl in das Feld eingeben wurde und dann noch im gewünschten Format ( 1.90, 1.000,23 oder 100.000,85 )
Gruß
Arndtinho
-
12.09.06 17:03 #4
- Registriert seit
- Oct 2004
- Ort
- München / Innsbruck
- Beiträge
- 2.263
Wie ich schon sagte, das Prinzip sollte eigentlich nach meinem obigen Post klar sein. Du wirst dich aber noch mit regulären Ausdrücken auseinandersetzten müssen.
Hilfreich könnte auch der Number-Formater auf meiner Seite zu tutorials.de sein. Einfach mal in den Quellcode schauen und dich einwenig schlau machen.
Der entsprechende RegEx sollte ungefähr so aussehen: /^\d{1,3}(\.\d{3})*\,\d{2}$/igGeändert von con-f-use (12.09.06 um 19:14 Uhr)
Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?
| Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |
-----------
Zufriedenstellende Beiträge bitte als erledigt markieren!
-
Erstmal Danke für den Tipp. Habe ein wenig gegoogelt und mir andere Scripte angesehen und bastel mir eine Funktion zusammen. So siehts im Moment aus:
Das klappt auch. Nun mach ich mir Gedanken, wie ich prüfen kann, ob nach dem Komma 2 Stellen vorhanden und ob diese nummerisch sind.Code :1 2 3 4 5 6 7 8 9 10 11 12 13
function checkValue() { // "Prüf"-ausdruck var reg = /,-{1,}|\.-{1,}|\.0{1,}/; // Nach-Komma-Stellen checken und ggf. ersetzen var nan_test_value = document.check.zahl.value.replace( reg, ",00" ); // Prüfen ob Vor-Komma-Stelle eine Zahl ist if( isNaN( parseFloat( nan_test_value ) ) ) { alert( "Keine Zahl" ); } }
Beispiel:
Ich hoffe, ich habe es halbwegs verständlich ausgedrückt.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
Eingabe: 123,45 Ergebnis: 'Nach-Komma' = 45 -> true; Eingabe: 123,456 Ergebnis: 'Nach-Komma' = 456 -> false; Eingabe: 123,bla Ergebnis: 'Nach-Komma' = bla -> false; Eingabe: 123,4bla Ergebnis: 'Nach-Komma' = 4bla -> false; Eingabe: 123,de Ergebnis: 'Nach-Komma' = de -> false;
-
12.09.06 19:13 #6
- Registriert seit
- Oct 2004
- Ort
- München / Innsbruck
- Beiträge
- 2.263
Sorry, aber das tut irgentwie weh. Es ist zwar lobenswert, dass du dich mit dem Thema beschäftigt hast, aber du hättest einfach nur das lesen müssen, was ich dir gegeben habe. Das Script steht schon fast komplett da. Teste einfach nur mal das in einer html-Datei und es sollte funktionieren:
Das ist mein obiges Script mit den eben geposteten RegExp. Der Testet schon automatisch, ob auch wirklich zwei Nachkommastellen drin sind usw.HTML-Code:<html><head><title>Unbekannt</title></head><body> <form> <input type="text" id="zahlenfeld" /> <input type="button" value="Prüfen" onclick=" alert( document.getElementById('zahlenfeld').value.match(/^\d{1,3}(\.\d{3})*\,\d{2}$/) ? 'Eine richtigformatierte Zahl' : 'Keine richtigformatierte Zahl' ); "> </form> </body>
Wenn du jetzt die Links über reguläre Ausdrücke, die ich oben gepostet habe liest, weißt du auch wie und warum das Script funktioniert und kannst es gegebenfalls noch anpassen.Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?
| Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |
-----------
Zufriedenstellende Beiträge bitte als erledigt markieren!
-
Sorry, dass ich noch nicht geantwortet habe und den Thread als erledigt markiert hatte.
Habe mir Deine Sachen angeschaut und es funktioniert. Danke.
Ähnliche Themen
-
Dezimalzahl teilen
Von xxxmike im Forum PHPAntworten: 20Letzter Beitrag: 10.07.09, 12:23 -
Dezimalzahl in Hexagesimalzahl
Von Reinhard87 im Forum C/C++Antworten: 3Letzter Beitrag: 05.01.08, 11:26 -
VB 6.0 Aufrunden einer Dezimalzahl
Von Nichtwisser im Forum Visual Basic 6.0Antworten: 5Letzter Beitrag: 12.01.06, 16:45 -
Dezimalzahl in MySQL DB importieren
Von exitboy im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 10.08.05, 08:51 -
Dezimalzahl invertieren
Von wasserflasche im Forum Visual Basic 6.0Antworten: 7Letzter Beitrag: 10.06.04, 17:22





Zitieren
Login





