需要有关替换方法的帮助

时间:2012-12-21 10:30:20

标签: javascript regex

以下代码的作用是什么?请逐行解释。

 x="c_name";
 y=x.replace(/^\s+|\s+$/g,"");

如果只给出x.replace(/ ^ \ s /),则replace方法将替换string开头的空格字符。但是这些加法参数是什么意思? 是“|”是替换方法中的“或”?请逐行说明

3 个答案:

答案 0 :(得分:0)

 y=x.replace(/^\s+|\s+$/g,"");

表示以下内容:

  • Either (|)
    • 在字符串(^\s+
    • 的开头匹配one or more (+)个空格
    • 或字符串末尾的一个或多个空白字符(\s+$

并替换它们。

g标志表示它取代所有匹配,而不仅仅是第一个匹配。

也就是说,它会修剪字符串开头和结尾的空格。

答案 1 :(得分:0)

它会删除字符串开头或结尾处的任意数量的空格。

可以读作

  • ^\s+:开始时有一些空格
  • |:或
  • \s+$:结尾处有一些空格
  • g:所有这些

请参阅the MDN documentation on regexes

可能在您的代码中,因为某些旧浏览器(IE8-)没有trim功能。

答案 2 :(得分:0)

来自MDN documentation

  

^ - 匹配输入的开头。
  \s - 匹配单个空白字符,包括空格,制表符,换页符,换行符和其他unicode空格。
  x|y - 匹配x或y。
  + - 与前一项匹配1次或更多次   $ - 匹配输入结束。

所以它基本上是旧浏览器的trim()功能。