javascript String.replace函数

 代码如下 复制代码
stringObject.replace(regexp/substr,replacement)

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

显然,replacement函数的第二到倒数第三之间的参数是“与模式中的子表达式匹配的字符串”,具体个数起决于子表达式的个数。

据此,我们举两个例子来对比说明:

例1:

字符串:"CJ9080"

匹配模式为:/CJ[0-9]{2}/g  (无子表达式)

预期结果:

replacement函数有3个参数,分别为:【0】“CJ90”【1】0【2】“CJ9080”

测试代码:


 代码如下 复制代码
function replaceStr(s) {    return s.replace(/CJ[0-9]{2}/g,                      function(){                         for (var i = 0, len = arguments.length; i < len; i++) {                             console.info("Argument " + i + ": " + arguments[i]);                         }                     });};

运行结果:

例2:

字符串:"CJ9080"

匹配模式为:/((CJ)([0-9]{2}))/g  (有3个子表达式:(CJ[0-9]{2}), (CJ), ([0-9]{2}))

预期结果:

replacement函数有6个参数,分别为:【0】 "CJ90"【1】 "CJ90"【2】 "CJ"【3】 "90"【4】 0【5】 "CJ9080"

测试代码:


 代码如下 复制代码
function replaceStr(s) {    return s.replace(/((CJ)([0-9]{2}))/g,                      function(){                         for (var i = 0, len = arguments.length; i < len; i++) {                             console.info("Argument " + i + ": " + arguments[i]);                         }                     });};

运行结果:

显然,两个测试例子结果均与预期一致。说明,当replace函数的replacement为函数时,此函数的参数各位确如W3school所言:

【0】:匹配模式的字符串;【1 - (length - 3)】: 与模式中的子表达式匹配的字符串, 0个或多个;【length - 2】:匹配串在原字符串的索引起始位置,从0开始;【length - 1】:原字符串。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索字符串
, 函数
, 参数
, 代码
, 表达式
模式
string replace函数、c string replace函数、string的replace函数、string中replace函数、javascript replace,以便于您获取更多的相关知识。

时间: 2024-10-01 04:12:39

javascript String.replace函数的相关文章

JavaScript String.replace函数参数实例说明_基础知识

Email:longsu2010 at yeah dot net js String的replace函数的函数签名如下: replace(match/* 字符串OR正则表达式 */, replacement/* 字符串OR函数 */) 作用是将源自符串中的match替换为replacement并返回替换后的字符串. 如果第一参数是字符串就没什么好说的了,但是要记住此时只在源自符串替换一次match(第一次)函数就执行完成了. 所以第一参数通常是一个正则表达式,举例如下: replace(/a/g

JavaScript使用replace函数替换字符串的方法

 本文实例讲述了JavaScript使用replace函数替换字符串的方法.分享给大家供大家参考.具体如下: JavaScript通过replace函数替换字符串,下面的代码将Visit Microsoft中的MicroSoft替换成jb51.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <!DOCTYPE html> <html> <body> <p> Click the button to rep

JavaScript使用replace函数替换字符串的方法_javascript技巧

本文实例讲述了JavaScript使用replace函数替换字符串的方法.分享给大家供大家参考.具体如下: JavaScript通过replace函数替换字符串,下面的代码将Visit Microsoft中的MicroSoft替换成jb51.net <!DOCTYPE html> <html> <body> <p> Click the button to replace "Microsoft" with "jb51.net&qu

javascript string.replace()字符替换函数

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replacement)参数 描述 regexp/substr 必需.规定子字符串或要替换的模式的 RegExp 对象. 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象.   replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数.   11

从jQuery.camelCase()学习string.replace() 函数学习_javascript技巧

功能 camelCase函数的功能就是将形如background-color转化为驼峰表示法:backgroundColor. 此函数在jQuery的data函数,以及涉及到css的诸多函数中都有用到. jQuery的实现 复制代码 代码如下: //正则匹配 rdashAlpha = /-([a-z])/ig, // camelCase替换字符串时的回调函数 fcamelCase = function( all, letter ) { return letter.toUpperCase(); }

Javascript String.replace的妙用_基础知识

String.replace( ) 简介 语法: 复制代码 代码如下: string.replace(regexp, replacement) regexp :您要执行替换操作的正则表达式,如果传入的是一个字符串,那就会当作普通字符来处理,并且只会执行一次替换操作:如果是正则表达式,并且带有 global (g) 修饰符,则会替换所有出现的目标字符,否则,将只执行一次替换操作. replacement :您要替换成的字符. 返回值是执行替换操作后的字符串. String.replace( ) 的

javascript中replace()函数用法小谈

先看一下MSDN中的介绍 replace 方法 返回根据正则表达式进行文字替换后的字符串的复制. stringObj.replace(rgExp, replaceText) 参数 stringObj 必选项.要执行该替换的 String 对象或字符串文字.该字符串不会被 replace 方法修改. rgExp 必选项.为包含正则表达式模式或可用标志的正则表达式对象.也可以是 String 对象或文字.如果 rgExp 不是正则表达式对象,它将被转换 为字符串,并进行精确的查找:不要尝试将字符串转

JavaScript String 字符函数

这可能是旧消息给你,但在每一个JavaScript的字符串有几个功能,只是在等待做您的出价.这是因为在JavaScript字符串实际上是物体的一群性质和职能(也称为方法)可在以下一般方式: <script type="text/javascript"> var myString = "Hello Thur!"; //This is how you would access a property var myProperty = myString.prop

javascript中replace( )方法的使用

  JavaScript中replace函数方法是返回根据正则表达式进行文字替换后的字符串的复制.使用方法:其中stringObj是必选项.要执行该替换的 String 对象或字符串文字. 最近在浏览一些阿里的前端面试题,其中有一题涉及了javascript中replace( )方法的使用,下面是原题: "说出以下函数的作用是?空白区域应该填写什么?" ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // define (function