使用javascript删除除字母数字和空格以外的所有字符

时间:2013-02-01 05:45:07

标签: javascript regex

我喜欢“Remove not alphanumeric characters from string. Having trouble with the [\] character”提供的解决方案,但是如何在保留空间的情况下执行此操作?

我需要在清理后根据空格对字符串进行标记。

2 个答案:

答案 0 :(得分:44)

input.replace(/[^\w\s]/gi, '')

从另一个答案中无耻地偷走了。字符类中的^表示“不是”。所以这是“不是”\w(相当于\W)而不是\s,这是空格字符(空格,制表符等)。您只需使用文字{{1}如果你需要的话。

答案 1 :(得分:1)

我知道这是一个旧主题,但它非常流行,出现在Google搜索的顶部。因此,作为替代方案,3limin4t0r接受的答案和评论启发了我:

.replace(/\W+/g, " ")

恕我直言

const input = document.querySelector("input");
const button = document.querySelector("button");
const output = document.querySelector("output");

button.addEventListener("click", () => {
    output.textContent = input.value.replace(/\W+/g, " ");
})
<input>
<button>Replace</button>
<p>
  <output></output>
</p>