4

JavaScript の正規表現の理解を深めようとしています。

したがって、ユーザーが任意の文字列を提供できるフォームがあります。その文字列から、数字、括弧、+、-、*、/、または ^ 以外の文字を削除したいと思います。無効なものをすべて取得して削除するために、否定正規表現を作成しようとしています。これまでのところ、この問題に関するコードは次のようになります。

var pattern = /[^-\+\(\)\*\/\^0-9]*/g;
function validate (form) {
    var string = form.input.value;
    string.replace(pattern, '');
    alert(string);
};

この正規表現は、 http://www.infobyip.com/regularexpressioncalculator.php正規表現テスターで意図したとおりに機能しますが、電卓に変更を加えることなく、指定した正確な文字列で常にアラートを出します。アドバイスや指針をいただければ幸いです。

4

1 に答える 1

10

メソッドはreplace文字列を変更しません。置換の結果で新しい文字列を作成し、それを返します。置換の結果を変数に代入する必要があります。

string = string.replace(pattern, '');
于 2012-12-24T00:04:40.393 に答える