Regex für eine gültige Zahl mit optionalen Kommas und Punkten

Ich versuche nur, Ziffern und Sonderzeichen wie '.' und ',' in meiner Textzeichenfolge zulässig sein. Dafür habe ich versucht folgenden Code

var pattern = /[A-Za-z]/g;
var nospecial=/[\(#\$\%_+~=*!|\":<>[\]{}`\\)';@&?$]/g;
if (!ev.ctrlKey && charCode!=9 && charCode!=8 && charCode!=36 && charCode!=37 && charCode!=38 && (charCode!=39 || (charCode==39 && text=="'")) && charCode!=40) {
    console.log(text);
    if (!pattern.test(text) && !nospecial.test(text)) {
        console.log('if');
        return true;
    } else {
        console.log('else');
        return false;
    }
}

aber nicht die gewünschte Ausgabe erhalten. Sag mir, wo ich falsch liege.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage