Hallo,
Würde ich auch gutheißen, denn eine "leere" Eingabe soll in vielen Fällen als 0 gelten, und 0 ist selbstverständlich auch eine Ganzzahl.
Aus dem Kontext heraus (Nummer ist/soll sein Marathon-Nummern)
Was zum Geier sind Marathon-Nummern?
naja, ich vermute Startnummern.
function isMarathonNumber(value) {
return (0 != value) && (null === String(value).match(/[^0-9]/));
}
>
> Also doch wieder ein RegEx - und warum willst du die 0 sowie negative Zahlen ausschließen?
negative Startnummern sind unüblich, die 0 auch :-)
Startnummern sind üblicherweise Zeichenketten.
Startnummern beginnen üblicherweise bei 1 (oder höheren Werten)
Startnummern haben üblicherweise keine führenden Nullen.
Falls RegExp, dann eher:
~~~javascript
function isRacingNumber(value) {
// Vorbemerkungen:
// Startnummer heißt auf englisch einfach nur Number
// aber isNumber() war mir nicht spezifisch genug :-)
// Sind die Rückgabewerte von typeof() einheitlich lowercase?
// ---------------------------------------------------------
// Wert muss eine Zeichenkette sein,
// das steht im Gegensatz zu [pref:t=205596;m=1393973@title=Gunnars Annahme],
// es sind nur Ziffern zugelassen,
// führende Nullen sind nicht zugelassen.
return (typeof(value) == 'string' && value.search(/^[1-9][0-9]*$/) > -1);
}
Freundliche Grüße
Vinzenz