删除除0-9 + - / *和^以外的任何字符

Removing any character besides 0-9 + - / * and ^

本文关键字:字符 任何 删除      更新时间:2023-09-26

我想进一步了解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 regex测试器上按预期工作,但总是使用我提供的确切字符串发出警报,而不需要在计算器中进行任何更改。如有任何建议或指示,我将不胜感激。

replace方法不修改字符串。它用替换的结果创建一个新字符串并返回它。您需要将替换的结果赋值回变量:

string = string.replace(pattern, '');
相关文章: