replace()方法
修改程序时会使用到replace()方法, replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,了解和掌握replace()的妙用会节约很多时间。
1.replace替换
<script type="text/javascript">
var str="This is a cat!"
document.write(str.replace(/cat/,"dog")) //输出This is a dog!
</script>
2.replace全局替换
通过全局匹配符g,所有的body都会被替换为one
<script type="text/javascript">
var str="She knowns everybody, but nobody knowns her!"
document.write(str.replace(/body/g,"one")) //输出She knowns everyone, but noone knowns her!
</script>
3.replace大小写不敏感替换
通过i修饰符可以不区分大小写进行匹配,susan不管每个字母不管大小写都能匹配到原文Susan
<script type="text/javascript">
text = "Visit Susan";
document.write(text.replace(/susan/i, "Andy")); //输出Visit Andy
</script>
4.replace替换姓名
\s*表示空格或者tab重复0次或者多次
\w+表示除标点符号以外的字符重复1次或者多次
被替换字符是(\w+)\s*, \s*(\w+)所匹配的Doe,John,替换字符是John Doe
<script type="text/javascript">
name = "Doe, John";
document.write(name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1")); //输出John Doe
</script>
5.replace转换引号
看到这个引号转换,着实懵逼了一把,去了解了一波符号表达式,"([^"]*)"意思就是以双引号开头,且中间不含有双引号的所有字符,双引号结尾的字符串,匹配出来的字符串由被替换为单引号开头和结尾的字符串,即双引号被替换为单引号
<script type="text/javascript">
name = '"a", "b"';
document.write(name.replace(/"([^"]*)"/g, "'$1'")); //输出'a','b'
</script>
6.replace单词首字母转换大小写
通过全局搜索匹配一个单词(\b\w+\b匹配,或\b(\w+)\b型),修改单词首字母为大写。
<script type="text/javascript">
name = 'aaa bbb ccc';
uw=name.replace(/\b\w+\b/g, function(word){
return word.substring(0,1).toUpperCase()+word.substring(1);}
);
document.write (uw); //输出Aaa Bbb Ccc
</script>
replace()用法还有很多,发现需要多去了解一下正则表达式,才能更好的运用。