使用Javascript转义空格字符

时间:2009-11-09 22:08:59

标签: javascript jquery regex

我有以下jquery语句。我希望删除空格,如下所示。所以,如果我有一个词:

例如

  • #Operating/System我想要 最终结果告诉我 #Operating\/System。 (即用 逃脱序列)。


  • 但如果我有#Operating/System test,那么我想展示 #Operating\/System +逃脱 空间序列。 .replace(/ /,'') 部分不正确但.replace("/","\\/")有效 以及我的要求。

请帮忙!

$("#word" + lbl.eq(i).text().replace("/","\\/").replace(/ /,'')).hide();

1 个答案:

答案 0 :(得分:2)

$( "#word" + lbl.eq(i).text().replace(/([ /])/g, '\\$1') ).hide();

这匹配字符串中的所有空格和斜杠(并保存组$1中的相应字符):

/([ /])/g

替换为

'\\$1'

表示反斜杠加上组$1中的原始字符。

"#Operating/System test".replace(/([ /])/g, '\\$1');
-->
"#Operating\/System\ test"

方面优势 - 只需要拨打replace()

编辑:根据OP的要求,对正则表达式/([ /])/g进行简短说明。它分解如下:

/           # start of regex literal
  (         # start of match group $1 
    [ /]    # a character class (spaces and slashes)
  )         # end of group $1
/g          # end of regex literal + "global" modifier

如上所述与replace()一起使用时,所有空格和斜线都会被自己替换,前面会加上反斜杠。