js正则表达式之replace函数用法

正则表达式replace()函数:
此函数用指定的字符串替换字符串中与正则表达式匹配的子字符串。
返回值是一个替换后的新字符串。
这里只介绍正则表达式的相关操作,其他替换操作可以参阅javascript的String对象的replace()方法一文。
语法结构:

stringObject.replace(regexp,replacement)

参数列表如下:

参数名称 语义解释
regexp 必需。RegExp对象。
replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

实例代码:

<script>
var str="I love jb51";
var reg=/j(?:\w)+1/;
console.log(str.replace(reg,"girls"));
</script>

以上代码可以将字符串中能够被正则表达式匹配的子字符串替换为"girls"。

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

字符 语义解释
$1、$2、...、$9 与 regexp 中的第1到第9个子表达式相匹配的文本。
$& 与regexp相匹配的子串。
$$ 直接量符号。
$` input字符串中lastMatch之前的文本。
$' input字符串中lastMatch之后的文本。

如果replacement是函数,具体用法可以参阅javascript的replace()第二个参数为函数时的参数一章节。
实例代码:

<script>
var str="jb51,net";
var newStr=str.replace(/(\w+),(\w+)/,"$2 $1");
console.log(newStr);
</script>

输出:net jb51

函数功能:replace函数返回根据正则表达式进行文字替换后的字符串的复制。

函数格式:stringObj.replace(rgExp, replaceText)

参数:字符串stringObj,rgExp正则表达式,replaceText所替换的内容

本文涉及的内容包括字符串创建,正则表达式隐式创建对象,创建正则表达式,进行replace方法的使用匹配

示例代码:

<html>
<script language="javascript" type="text/javascript">
//要替换的字符串的内容
var objStr=new String("Designed By Androidyue");
//隐式创建正则表达式对象
var reG=/e/w?/g;//全局匹配(g为全局匹配参数),匹配e或者e?内容
var re=/e/w?/;//没有指定参数,值进行一次匹配
with(document){
write("进行匹配前的字符串"+objStr+"<br>");
write("进行了全局匹配的字符串"+objStr.replace(reG,"**")+"<br>");
write("进行匹配,没有指定参数值进行一次匹配"+objStr.replace(re,"××"));
}
</script>
</html> 

关于正则表达式我会写几篇文章介绍,当然最好的方法就是自己尝试写一些东西

(0)

相关推荐

  • javascript中使用replaceAll()函数实现字符替换的方法

    而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志). replace() The replace() method returns the string that results when you replace text matching its first argument (a regular expression) with the text of the second argument (a string). If the g (glob

  • js正则函数match、exec、test、search、replace、split使用介绍集合

    match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对象或字符串文字. rgExp 必选项.为包含正则表达式模式和可用标志的正则表达式对象.也可以是包含正则表达式模式和可用标志的变量名或字符串文字. 其余说明与exec一样,不同的是如果match的表达式匹配了全局标记g将出现所有匹配项,而不用循环,但所有匹配中不会包含子匹配项. 例子1: functi

  • JS中的Replace()传入函数时的用法详解

    replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串.. 废话不多说了,直接给大家贴代码了,具体代码如下所示: <script> var str = "a1ba2b"; var reg = /a.b/g; str = str.replace(reg,func

  • js中字符替换函数String.replace()使用技巧

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

  • JSP中的字符替换函数 str_replace() 实现!

    //// StrReplace.java//package forum;import java.util.*; /*** Title:* Description:* Copyright: Copyright (c) 2001* Company:* @author* @version 1.0*/ public class StrReplace { public StrReplace() {}public String str_replace(String from,String to,String

  • javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同

    1.<script language="javascript"> var str = "ajfhslajd and"; //在此我想将字母a替换成字母A alert(str.replace("a","A")); </script> 结果:是只有替换了字符串的首字符a 这不是我要的结果 看↓ 2.replace()支持正则表达式,它可以按照正则表达式的规则匹配字符或字符串,然后给予替换! <scri

  • javascript中基于replace函数的正则表达式语法

    示例代码如下: var strM = "javascript is a good script language"; //在此我想将字母a替换成字母A alert(strM.replace("a","A")); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 它只替换了首字母.但如果加上正则表达式结果就不一样了!replace()支持正则表达式,它可以按照正则表达式的规则匹配字符或字符串,然后给予替换! 注意:被替换的部分不用加双引号

  • JavaScript 函数replace深入了解

    replace函数接受两个参数,第一个参数为字符串或正则表达式,第一个参数同样可以接受一个字符串,还可能是一个函数. 首先对于第一个参数为字符串的我们不再需要多说"I am a boy".replace("boy","girl"),输出:"I am a girl".在这里想说的是第一个参数为正则的情形.对于正则表达式来说首先会根据是否全局的(全局//g)决定替换行为,如果是全部的则替换全部替换,非全局的只有替换首个匹配的字符串

  • js正则表达式之replace函数用法

    正则表达式replace()函数: 此函数用指定的字符串替换字符串中与正则表达式匹配的子字符串. 返回值是一个替换后的新字符串. 这里只介绍正则表达式的相关操作,其他替换操作可以参阅javascript的String对象的replace()方法一文. 语法结构: stringObject.replace(regexp,replacement) 参数列表如下: 参数名称 语义解释 regexp 必需.RegExp对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数

  • Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)

    js的replace函数除了替换文本以外还有获取所有被正则表达式匹配到的文本的功能.这里以一个简单的案例来作为演示. 利用正则查找出所有被两个花括号包裹的字符串: var str = <div class="item">{{test}}{{aaa}}{{bbb}}</div> str.replace(reg,function (match,param,offset,string) { console.log(match,param,offset,string);

  • js正则表达式test()和exec()用法实例

    本文实例讲述了js正则表达式test()和exec()用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <html> <head> <script type="text/javascript"> //正则.test(内容),返回true或false function t1(){  var con = document.getElementsByName('content')[0].value;//需要查找的内容  var reg = /h

  • JS访问SWF的函数用法实例

    本文实例讲述了JS访问SWF的函数用法.分享给大家供大家参考.具体分析如下: 关于Flash和JS相互调用的例子已经说很多了,这不是难题,当然,调用错误这也不是Flash和JS的错误,我们今天就来彻底解决IE,FF和Chrome之间的不兼容问题! 我们知道,Flash中,如果访问外部JS函数,只需  复制代码 代码如下: flash.external.ExternalInterface.call("JS中的函数名"); 这一句即可 如果要JS访问Flash中的函数,需要用addCall

  • JS作为值的函数用法示例

    本文实例讲述了JS作为值的函数用法.分享给大家供大家参考,具体如下: function callSomeFunction(someFunction,someArgument){ return someFunction(someArgument); } 这个函数接受两个参数,第一个函数应该是一个函数,第二个参数应该是要传递给该函数的一个值.该函数是通用的. 如: function add10(num){ return num+10; } var result = callSomeFunction(

  • js正则表达式之match函数讲解

    功能:使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回 函数格式:stringObj.match(rgExp) stringObj为字符串必选 rgExp为正则表达式必选项 返回值:如果能匹配则返回结果数组,如果不能匹配返回null 复制代码 代码如下: <html> <script language="javascript" type="text/javascript"> //使用正则表达式模式对字符串执行查找,并将包含查

  • js 正则表达式之test函数讲解

    功能介绍:该方法的返回值是布尔值,通过该值可以匹配字符串中是否存在于正则表达式相匹配的结果,如果有匹配内容,返回ture,如果没有匹配内容返回false,该方法常用于判断用户输入数据的合法性,比如检验Email的合法性 基本语法:objReg.test(objStr) objReg 必选项 RegExp对象名称 objStr 要进行匹配检测的字符串 讲解实例代码: 复制代码 代码如下: <html> <script language="javascript" type

  • js正则表达式验证URL函数代码(方便多个正则对比)

    推荐大家收藏的一段代码,方便同时测试多个正则,查看不同的检测结果,结合chrome完美 核心代码 <script> /** * 正则表达式判断网址是否有效 */ (function(){ "use strict"; var urlDict=[ //Bad Case 'www.baidu.com', //常规网址,未带协议头的地址 'w.baidu.com', //常规网址,短子域名 'baidu.com', //常规网址,仅有主域名 '测试.com', //非常规合法网址,

  • js正则表达式常用函数详解

    一.js正则表达式之replace函数用法: 函数功能:replace函数返回根据正则表达式进行文字替换后的字符串的复制. 函数格式:stringObj.replace(rgExp, replaceText) 参数:字符串stringObj,rgExp正则表达式,replaceText所替换的内容 本模块涉及的内容包括字符串创建,正则表达式隐式创建对象,创建正则表达式,进行replace方法的使用匹配 示例代码: <html> <script language="javascr

  • JS正则表达式之非捕获分组用法实例分析

    本文实例讲述了JS正则表达式非捕获分组用法.分享给大家供大家参考,具体如下: 最近在看JsonSQL的时候,通过源码中的一段正则表达式,了解到了什么是非捕获分组以及它的使用场景.在js中,正常的捕获分组格式是(XX),非捕获分组格式为(?:XX).我们先从正则表达式数量词说起,如果我们要求字符b至少出现一次,可以使用正则/b+/:如果要求ab至少出现一次,那么必需使用/(ab)+/,不能用/ab+/.也就是说,如果想对多个字符使用数量词,必需要用圆括号. var str = "a1***ab1c

随机推荐