RegExp - Zahlen
David
- javascript
hallo zusammen
folgendes beispiel:
----------
var valid = new Object();
valid.Currency = /\d{1,3}(d{3})*.\d{2}/;
function validateForm(theForm) {
var elArr = theForm.elements;
for(var i = 0; i < elArr.length; i++) {
with(elArr[i]) {
var v = elArr[i].validator;
if(!v) continue;
var thePat = valid[v];
var gotIt = thePat.exec(value);
if(! gotIt){
alert(name + ": failure to match " + v + " to " + value);
elArr[i].select();
elArr[i].focus();
return false;
}
}
}
return true;
}
-------------------
mein problem ist das folgende. ich möchte dass folgende Formate einer Zahl eingegeben werden können->80000,80000.00 --> Das zweite Format (80000.00) funktioniert. aber wenn ich nur 80000 eingeben erscheint die fehlermeldung.
wie muss ich die variable "valid.Currency = /\d{1,3}(d{3})*.\d{2}/;" definieren damit beide formate funktionieren ??
danke für die hilfe.
gruss
david
mein problem ist das folgende. ich möchte dass folgende Formate einer Zahl eingegeben werden können->80000,80000.00 --> Das zweite Format (80000.00) funktioniert. aber wenn ich nur 80000 eingeben erscheint die fehlermeldung.
wie muss ich die variable "valid.Currency = /\d{1,3}(d{3})*.\d{2}/;" definieren damit beide formate funktionieren ??
Sorge dafür, daß der Punkt, oder besser noch die Gruppe aus Punkt und den beiden darauf folgenden Zahlen, optional ist, also null oder einmal vorkommen darf.
Wie man das macht, weißt Du sicherlich, denn Kapselung von Elementen mit Klammern und die Angabe der erlaubten Wiederholungen mit geschweiften Klammern oder Stern (sowie Fragezeichen und Plus) hast Du ja schon benutzt.
Gruß,
soenk.e
wie muss ich die variable "valid.Currency = /\d{1,3}(d{3})*.\d{2}/;" definieren damit beide formate funktionieren ??
[..]
Wobei mir gerade noch einfällt, daß man hierzulande Nachkommastellen mit einem Komma abtrennt, nicht mit einem Punkt (der Punkt dient als Tausender-Trennstelle). Das solltest Du tunlichst beachten und beide Zeichen ermöglichen.
Gruß,
soenk.e