• 最简单的replace用法是:
var str = 'aaaaa9876b0000';
str.replace(/a/g,'A');
  • 有时候我们希望只是在匹配的位置添加特定的字符:
var str = 'aaaaa9876b0000';
str.replace(/([0-9])/g,'[$1]');

以上结果为:

aaaaa[9][8][7][6]b[0][0][0][0]
  • 如果我们想要对匹配的位置进行数学计算,那么我们可以将第二个参数改为函数,其返回值就是在对应位置题换的字符:
'abc123ba0c'.replace(/([0-9])/g,function(m){return 2*parseInt(m)})

以上结果为:

abc246ba0c

那么,这个函数的参数是什么呢?

第一个参数表示匹配的完整字符串,相当于 /([0-9])/g的exec方法的全局执行完之后的结果,如下:

>var reg = /([0-9])/g
>reg.exec('abc123ba0c')
["1", "1"]
>reg.exec('abc123ba0c')
["2", "2"]
>reg.exec('abc123ba0c')
["3", "3"]
>reg.exec('abc123ba0c')
["0", "0"]

正则表达式有多少个(),m后面就可以有多少个参数,这些参数就代表以上匹配结果中对应位置的内容。

这些()内的参数后面,还有一个参数,表示所有全局匹配串m在原始字符串中的起点:

>'abc123ba0c'.replace(/([a-z]+)([0-9]+)/g,function(m,p1,p2,p3,p4){console.log(m+' '+ p1 + ' '+p2+' ' + p3)})

abc123 abc 123 0
ba0 ba 0 6

javascript string对象方法replace的更多相关文章

  1. JavaScript String 对象方法

    String 对象方法 方法 描述 anchor() 创建 HTML 锚. big() 用大号字体显示字符串. blink() 显示闪动字符串. bold() 使用粗体显示字符串. charAt() ...

  2. javascript string对象方法总结

    1.anchor() 用于创建html锚,也就是a标签,()中可以带参数,是a标签的name属性值. var string="hello world"; document.writ ...

  3. JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法

    JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_V ...

  4. JavaScript String 对象

    JavaScript String 对象 String 对象 String 对象用于处理文本(字符串). String 对象创建方法: new String(). 语法 var txt = new S ...

  5. 浏览器端-W3School-JavaScript:JavaScript String 对象

    ylbtech-浏览器端-W3School-JavaScript:JavaScript String 对象 1.返回顶部 1. JavaScript String 对象 String 对象 Strin ...

  6. PowerShell String对象方法 1

    PowerShell String对象方法 1 8 6月, 2013  在 Powershell tagged 字符串 / 对象 / 文本 by Mooser Lee 从之前的章节中,我们知道Powe ...

  7. JavaScript String 字符串方法

    JavaScript String 字符串方法汇总   1.str.indexOf() 方法查找字符串中的字符串  返回   字符串中指定文本首次出现的索引(位置)       JavaScript ...

  8. 几种String对象方法的区别

    1.在String对象方法中,发现.slice()方法和.substring()方法的作用几乎相同,都是根据起始索引返回截取得到的字符串.经过查阅资料和实测得到区别: 正常情况下索引都为正值,返回值为 ...

  9. 【timeisprecious】【JavaScript 】JavaScript String 对象

    JavaScript>String 对象 1 .From Runnob JavaScript String 对象(概览) JavaScript String 对象(教程)

随机推荐

  1. 编程 - 前端 - JavaScript - 库 - ECharts (开源可视化)

    ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等) ...

  2. mysql 使用 FIND_IN_SET 来查询数据

    mysql中find_in_set函数很有意思,它的功能是查找以英文逗号隔开的值,我们可以将数据存储类似为1,2,3,4格式.今天我们就来看看在thinkphp中怎样正确地使用find_in_set函 ...

  3. 【ospf-stub区域配置】

    根据项目需求搭建好如下拓扑图 配置rt1的环回口地址及g0/0/0和g0/0/1的ip地址 配rt1的ospf 配置rt2的环回口地址和g0/0/0和g0/0/1 配置rt2的ospf 配置rt3的环 ...

  4. .net core 发布到docker

    1. 安装docker-desktop,windows环境安装包 官方网站:https://www.docker.com/ 2.注册登陆Docker账号 安装成功后,在官方网站注册一个账号,使用账号登 ...

  5. 微信js sdk动态引用

    一般情况下,微信的js-sdk只需要直接引用script即可 <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js&qu ...

  6. ubuntu系統如何啟動root用戶登陸?

    之前分享過關於這個問題的文章,現在自己在分享一個關於這個問題的文章給大家.為了學習Linux,一氣之下把win10的換成了ubuntu的系統.安裝就不給大家介紹了(網上很多教程). 在我們安裝好之後, ...

  7. scala成长之路(5)问题记录

    还是在看scala sdk源码的时候,有很多问题要考自己慢慢摸索,这里做个记录. 一. 隐式转换的作用域? 隐式转换需要三个因素 1. 己方(当前对象) 2. 转换函数 3. 对方(转换的目标类) 这 ...

  8. 3. 进程间通信IPC

    一.概念 IPC: 1)在linux环境中的每个进程各自有不同的用户地址空间.任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间是不能相互访问. 2)如果进程间要交换数据必须通过内核,在 ...

  9. ARM串口控制终端命令

    配置开发板eth0网络: # ifconfig eth0 10.70.12.168

  10. django之单表查询

    一.创建表 1.创建模型: 创建名为book的app,在book下的models.py中创建模型: from django.db import models # Create your models ...