解密.replace()参数的内容

时间:2017-04-06 19:12:21

标签: javascript replace

在一段代码示例中,我偶然发现了这一行:

//将字符串更改为小写并删除所有非字母数字字符
                var cstr = str_entry.toLowerCase()。replace(/ [^ a-zA-Z0-9] + / g,'');

我想我明白参数里面的/ g会使//之间的所有内容成为空字符串('')。我对么?

参数的^部分是做什么的? []括号内的所有内容是什么意思?

1 个答案:

答案 0 :(得分:2)

replace函数的第一个参数是regular expression,这是一种确定字符串是否与复杂模式匹配的方法。

/g参数表示' global',因此,如果str_entry字符串的两个部分匹配,则它们都将替换为空字符串,而不是仅替换第一个字符串。

^中的[]表示“不是”,因此它会说“检查字符串是否不是a-zA-Z0-9&#39” ;

更简单地说,正则表达式识别字符串中的任何非字母数字字符。与replace(..., '')一起使用将删除这些字符。

有关正则表达式如何工作的更多信息,请查看Regex101。你可以打入你的正则表达式,它会告诉你它的每个部分是做什么的。