js中怎么用replace替换字符串中的问号

JavaScript09

js中怎么用replace替换字符串中的问号,第1张

js提供一个replace方法,replace(目标字符串, 替换的字符串)

1、一般常用的,替换字符串中的"?"

var result = "abcd?efg".replace("?","")//abcdefg

console.log(result)

2、跟1比较,发现只能替换一次,一般建议用循环进行多次替换

var result2 = "abcd?efg?hijk?lmn".replace("?","")//abcdefg?hijk?lmn

console.log(result2)

3、使用正则表达式进行替换

var reg = /\?/g//创建正则,表示替换全局替换"?"

var result3 = "abcd?efg?hijk?lmn".replace(/\?/g,"")//abcdefghijklmn

console.log(result3)

补充:

正则格式:/pattern/标识符,如/\?/g,

因为?是特殊字符,需要\进行转义,然后g标识全局查找,如果不写这个,就不会进行全局替换

JS "\"号替换成"/" JS,使用replace()就可以了,str.replace("\", "/")replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。语法:stringObject.replace(regexp/substr,replacement)在本例中,将使用 "W3School" 替换字符串中的 "Microsoft":<script type="text/javascript">var str="Visit Microsoft!"document.write(str.replace(/Microsoft/, "W3School"))</script>输出:Visit W3School!

// 匹配手机号首尾,以类似“123****8901”的形式输出

'12345678901'.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')

此段正则匹配字符串中的连续11位数字,替换中间4位为*号,输出常见的隐匿手机号的格式。

如果要仅得到末尾4位,则可以改成如下形式:

// 匹配连续11位数字,并替换其中的前7位为*号

'15110280327'.replace(/\d{7}(\d{4})/, '*******$1')

补充注释:正则表达式中的括号即可用于分组,同时也用于定义子模式串,在replace()方法中,参数二中可以使用$n(n为数字)来依次引用模式串中用括号定义的字串。