javascript replace()替换所有用法

作者:简简单单 2011-11-30

String.replace( ) 简介

语法:

string.replace(regexp, replacement) 

regexp :您要执行替换操作的正则表达式,如果传入的是一个字符串,那就会当作普通字符来处理,并且只会执行一次替换操作;如果是正则表达式,并且带有 global (g) 修饰符,则会替换所有出现的目标字符,否则,将只执行一次替换操作。

replacement :您要替换成的字符。

最简单的实例

 代码如下 复制代码

返回值是执行替换操作后的字符串。

String.replace( ) 的简单用法

 代码如下 复制代码

 

String.replace( ) 替换所有出现的目标字符

var text= "javascript 非常强大 !JAVASCRIPT 是我最喜欢的一门语言 !"; 

 代码如下 复制代码

text.replace(/javascript/ig, "JavaScript");  // 返回:

JavaScript 非常强大 !JavaScript 是我最喜欢的一门语言 ! 

String.replace( ) 实现调换位置

 代码如下 复制代码

var name= "Doe, John"; 
name.replace(/(w+)s*,s*(w+)/, "$2 $1");  // 返回:John Doe 

String.replace( ) 实现将所有双引号包含的字符替换成中括号包含的字符

 代码如下 复制代码

var text = '"JavaScript" 非常强大!'; 

text.replace(/"([^"]*)"/g, "[$1]");  // 返回:[JavaScript] 非常强大! 

String.replace( ) 将所有字符首字母大写

 代码如下 复制代码

var text = 'a journey of a thousand miles begins with single step.'; 

text.replace(/bw+b/g, function(word) {                            

return word.substring(0,1).toUpperCase( ) +   word.substring(1); 

});   

// 返回:A Journey Of A Thousand Miles Begins With Single Step. 

javascript中replace() 方法如果直接用str.replace("apples","oranges") 只会替换第一个匹配的字符。

使用 /g 替换所有匹配的字符, /i 忽略大小写

 代码如下 复制代码

This prints "oranges are round, and oranges are juicy."

javascript的String类内置函数replace(regexp, newString)函数提供了字符串替换功能,从函数原型上可以看出支持 Regular Exp。此函数功能非常实用,但也有几个地方有点混淆,下面通过实际的例子来说明:
    比如我们现在要针对串

 代码如下 复制代码
var src="xxx"

要替换其中的HTML双引号的转移符 " 为实际的 " , 正常我们就会直接调用 src.replace(/"/g, '"');来达到目的,但是js容易让人迷惑的一点就是,这样做并没有实际改变src的值,实际测试发现返回值才是我们需要的结果,而src本身确不发生变化,所以实际中需要通过如下来完成我们的功能:

 代码如下 复制代码
src=src.replace(/"/g, '"');

相关文章

精彩推荐