假设需要进行替换的字符串为str1,那么:
str1.replace(/\\/g,'\\\\')
完整的例子:
var str1 = 'a\\b\\c'
var str2 = str1.replace(/\\/g,'\\\\')
console.log(str1)
console.log(str2)
扩展资料:
正则表达式:
语法:/正则表达式主体/修饰符(可选)
replace() 方法使用正则表达式
例子:
使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob :
var str = document.getElementById("demo").innerHTML
var txt = str.replace(/microsoft/i,"Runoob")
修饰符:
i:执行对大小写不敏感的匹配。
g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m:执行多行匹配。
正则表达式的前后使用/是语法规定,犹如字符串的前后使用引号一样。你这个地方加不加g无所谓的,g表示多次匹配,只有在需要对每个匹配的项目进行处理(例如替换)时才有特殊意义。
第一个因为没有^和$,所以只有要数字和-就对,第二个有这两个符号,^表示开始,$表示结束,整体的意思就是必须完整匹配,不得有其它内容。例如ABC028-88888就可以匹配第一种方式,但是在第二种就会失败。
还有问题吗?
JS中的反斜杠转义字符作用转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。 转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表(HT) 009 \v 垂直制表(VT) 011 \\ 反斜杠 092 \? 问号字符 063 \' 单引号字符 039 \" 双引号字符 034 \0 空字符(NULL) 000 \ddd 任意字符 三位八进制 \xhh 任意字符 二位十六进制 字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。 在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。\ d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。\ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。 使用转义字符时需要注意以下问题: 1) 转义字符中只能使用小写字母,每个转义字符只能看作一个字符。 2) \v 垂直制表和\f 换页符对屏幕没有任何影响,但会影响打印机执行响应操作。 3) 在C程序中,使用不可打印字符时,通常用转义字符表示 注: 1,\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。 2,\n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。 3,\t 光标向前移动四格或八格,可以在编译器里设置 4,\' 在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用 ' 即可。 5,\? 其实不必要。只要用 ? 就可以了(在windows VC6 和tc2 中验证)。