Der Martin: IsNumeric Abfrage - zur Überprüfung

Beitrag lesen

Hallo,

function IsNumeric(value) {
    var bool = isNaN(+value));
    bool = bool || (value.indexOf('.') != -1);
    bool = bool || (value.indexOf(",") != -1);
    return !bool;
}

du arbeitest mit invertierter Logik, scheint mir. Deine Hilfsvariable bool hat zunächst die Bedeutung "IsNotNumeric", und du gibst zum Schluss den Komplementärwert zurück.

Also bedeutet dein Code:
 * value ist *nicht* numerisch, wenn isNaN() zutrifft
 * value ist *nicht* numerisch, wenn kein Punkt darin vorkommt
 * value ist *nicht* numerisch, wenn kein Komma darin vorkommt

Du hast also ein Logikproblem. Deine Funktion verlangt, dass isNaN() nicht zutrifft, gleichzeitig aber mindestens ein Punkt und ein Komma im String vorkommt.

So long,
 Martin

--
Lieber arm dran als Arm ab.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(