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 回答