Javascript替换功能混乱

时间:2014-08-06 20:52:55

标签: javascript

我知道这可能违反SO的规则,但它们是JS中的一个主题,我无法理解。例如,当人们使用:input.replace(/[^\w\s]/gi, '')我尝试使用谷歌时,我找不到一个能够解释这个问题的网站让我理解它。如果有人可以将我链接到某个地方或尝试解释它是如何工作的,因为它似乎是一个非常重要的学科。

感谢所有帮助人员!如果有人遇到过同样的问题,我发现这里有一个非常好的资源:http://www.w3schools.com/jsref/jsref_obj_regexp.asp

2 个答案:

答案 0 :(得分:3)

这个问题将会被关闭,但让我花点时间教你如何思考。

你有一个函数replace,它有两个参数。您应该查找参数的类型。

如果你google" javascript替换",您会看到指向MDN的链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

在此页面上,您会看到第一个参数是regexp|substring。在该说明中,指向类型 RegExpString的链接。您应该能够识别出/[^\w\s]/gi 不是字符串,因此必须RegExp。您可以关注the link to the page on RegExp (Regular Expressions)并开悟。


学习如何思考问题不仅可以帮助你提出更好的问题,还可以帮助你成为更好的程序员。

答案 1 :(得分:1)

此:

/[^\w\s]/

是正则表达式。它匹配任何不是(^在这种情况下的含义)和#34;字符" (\w - 包括字母,数字和下划线)或空格(\s

所以如果你有一个字符串:

"hello *&&^( there" 

你运行这个替代品,它会给你

"hello  there"

gi部分使其全局化(替换整个字符串,而不仅仅是第一次出现)和不区分大小写(在这种情况下实际上并不重要)。

检查人们已建议的链接,以了解有关正则表达式的更多信息。