浅谈javascript中replace()方法


Posted in Javascript onNovember 10, 2015

定义和用法
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
语法
stringObject.replace(regexp/substr,replacement)

浅谈javascript中replace()方法

返回值
一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
说明
字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。

浅谈javascript中replace()方法

注意:ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。
实例
例子 1
在本例中,我们将使用 "W3School" 替换字符串中的 "Microsoft":

<script type="text/javascript">

var str="Visit Microsoft!"
document.write(str.replace(/Microsoft/, "3water"))

</script>

输出:Visit 3water!
例子 2
在本例中,我们将执行一次全局替换,每当 "Microsoft" 被找到,它就被替换为 "W3School":

<script type="text/javascript">

var str="Welcome to Microsoft! "
str=str + "We are proud to announce that Microsoft has "
str=str + "one of the largest Web Developers sites in the world."

document.write(str.replace(/Microsoft/g, "3water"))

</script>

输出:
Welcome to 3water! We are proud to announce that 3water

has one of the largest Web Developers sites in the world.
例子 3
您可以使用本例提供的代码来确保匹配字符串大写字符的正确:

text = "javascript Tutorial";
text.replace(/javascript/i, "JavaScript");

输出:javascript Tutorial
例子 4
在本例中,我们将把 "Doe, John" 转换为 "John Doe" 的形式:

name = "Doe, John";
name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");

输出:John Doe 
例子 5
在本例中,我们将把所有的花引号替换为直引号:

name = '"a", "b"';
name.replace(/"([^"]*)"/g, "'$1'");

输出:'a', 'b'
例子 6
在本例中,我们将把字符串中所有单词的首字母都转换为大写:

name = 'aaa bbb ccc';
uw=name.replace(/\b\w+\b/g, function(word){
 return word.substring(0,1).toUpperCase()+word.substring(1);}
 );

输出:Aaa Bbb Ccc

通过本文简单的学习,大家应该大概知道javascript中replace()方法,结合实例练习,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Tips 带三角可关闭的文字提示
Oct 06 Javascript
jQuery Ajax请求状态管理器打包
May 03 Javascript
jQuery实现下滑菜单导航效果代码
Aug 25 Javascript
Javascript的表单验证-初识正则表达式
Mar 18 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
Jul 24 Javascript
vue 将页面公用的头部组件化的方法
Dec 18 Javascript
详解vue.js数据传递以及数据分发slot
Jan 20 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
Sep 28 Javascript
从零搭一个自用的前端脚手架的方法步骤
Sep 23 Javascript
使用vscode快速建立vue模板过程详解
Oct 10 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
vue分页插件的使用方法
Dec 25 Javascript
使用jQuery获取data-的自定义属性
Nov 10 #Javascript
javascript适合移动端的日期时间拾取器
Nov 10 #Javascript
js图片轮播手动切换效果
Nov 10 #Javascript
JS截取与分割字符串常用技巧总结
Nov 10 #Javascript
jquery validate.js表单验证入门实例(附源码)
Nov 10 #Javascript
纯javascript响应式树形菜单效果
Nov 10 #Javascript
JavaScript中SetInterval与setTimeout的用法详解
Nov 10 #Javascript
You might like
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
AngularJS使用自定义指令替代ng-repeat的方法
2016/09/17 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
详解node child_process模块学习笔记
2018/01/24 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
Python实现字符串逆序输出功能示例
2017/06/24 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
python根据多个文件名批量查找文件
2019/08/13 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
详解python logging日志传输
2020/07/01 Python
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
毕业生动漫设计求职信
2013/10/11 职场文书
数控技术专业推荐信
2013/11/01 职场文书
班长自荐书范文
2014/02/11 职场文书
团日活动总结书格式
2014/05/08 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
公司应聘求职信
2014/06/21 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
python开发的自动化运维工具ansible详解
2021/08/07 Python
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL
利用Python实时获取steam特惠游戏数据
2022/06/25 Python