JSLint を実行すると、次のエラーが発生するコード行があります。
Lint at line 604 character 48: Insecure '^'.
numExp = parseInt(val[1].replace(/[^\-+\d]/g, ""), 10);
このエラーは、JSLint のオプション ページの次の説明を参照しているようです。
"true if . and [^...] should not be allowed in RegExp literals.
These forms should not be used when validating in secure applications."
クライアント側のJavaScriptアプリケーションが実際に安全であると見なされる方法がよくわかりません。最も気密性の高い正規表現を使用しても、firebug などを起動して変数を変更することは可能です。実際の入力の検証はサーバー上で行う必要があり、クライアント ブラウザーはおそらく、平均的なユーザーの悪用を処理する検証に固執する必要があります。
このエラーを無視しても安全ですか? クライアント側の入力検証が原因でアプリケーションが安全でなくなるという角度が欠けていますか?