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

示例代码如下:

<script language="javascript"> var strM = "javascript is a good script language"; //在此我想将字母a替换成字母A alert(strM.replace("a","A")); </script>

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

它只替换了首字母。但如果加上正则表达式结果就不一样了!replace()支持正则表达式,它可以按照正则表达式的规则匹配字符或字符串,然后给予替换!

注意:被替换的部分不用加双引号.

<script language="javascript"> var strM = "javascript is a good script language"; //在此我想将字母a替换成字母A alert(strM.replace(/a/,"A")); </script>

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

这样还是只替换了第一个字母a。

<script language="javascript"> var strM = "javascript is a good script language"; //在此将字母a全部替换成字母A alert(strM.replace(/a/g,"A")); </script>

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

由上可知,当正则表达式有"g"标志时,代表将处理整个字符串.

<script language="javascript"> var strM = "javascript is a good script language"; alert(strM.replace(/(javascript)\s*(is)/g,"$1 $2 fun. it $2")); </script>

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

先看看简单例子:将所有单词首字母换成大写。

<script language="javascript"> var strM = "javascript is a good script language"; function change(word) { return word.indexOf(0).toUpperCase()+word.substring(1); } alert(strM.replace(/\b\w+\b/g,change)); </script>

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

由上可知,当正则表达式有"g"标志时,代表将处理整个字符串,即函数change的变换将应用于所有匹配的对象。而该函数有三个或更多参数,具体个数视正则表达式而定。

有了函数与正则表达式的配合,replace()处理字符串的功能空前强大起来了!

最后还举个例子,将字符串所有单词倒序,用replace()处理是如此简单。

<script language="javascript"> var strM = "javascript is a good script language"; function change(word) { var result = word.match(/(\w)/g); if ( result ) { var str = ""; for ( var i=result.length-1; i>=0; i-- ) { str += result; } return str; } else { return "null"; } } alert(strM.replace(/\b(\w)+\b/g,change)); </script>

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

对正则表达式不熟悉的朋友可以参考下面的文章

正则表达式30分钟入门教程

正则表达式 基础资料

时间: 2024-08-01 23:36:18

javascript中基于replace函数的正则表达式语法的相关文章

JavaScript中的Replace函数替换的问题

今天同事问我一个关于JavaScript中替换的问题,他又一段字符串"</SheetItems><ElectricalStatus>",希望用"!"来替换"<",用了replace函数却发现只能替换掉第一个"<". 如: <script language="javascript"> var str="</SheetItems><El

关于js中的Replace函数的简单疑问!

问题描述 function(s, c) { return s.replace(/{(w+)}/g, function(m, p) { return c[p]; })} 上面这个函数是什么意思啊? 解决方案 Javascript中的replace函数的第二个参数可以是函数.如果是函数,将会用该函数的返回值进行替换./{(w+)}/g 匹配所有 花括号中间的文字.比如a{b}c这样会匹配出b.你的代码中的那个c多半是个map或对象.说到这你可能明白了吧,是个参数替换的方法.下面是示例,看得清楚些.f

JavaScript中的replace()方法使用详解

  这篇文章主要介绍了JavaScript中的replace()方法使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下 该方法找到一个正则表达式的字符串之间的匹配,并取代了匹配的子带的新的子串. 替换字符串可以包含以下特殊替换模式: 语法 ? 1 string.replace(regexp/substr, newSubStr/function[, flags]); 下面是参数的详细信息: regexp : 一个RegExp对象.匹配被替换参数的返回#2. substr : 一个字符串,由

JavaScript中cookie工具函数封装的示例代码_javascript技巧

一. 语法 1.1 获取当前页面的所有cookie: var allCookies = document.cookie; allCookies 是一个字符串,其中包含了以分号分隔的cookie列表字符串 (即 key=value 键值对). 1.2 写一个新cookie: document.cookie = updatedCookie; updatedCookie是一个键值对形式的字符串.只能用这个方法一次设置或更新一个cookie,而且写入并不是覆盖,而是添加.例如: document.coo

深入认识javascript中的eval函数_javascript技巧

1)介绍javascript中的eval函数的用法 (2)如何在函数内执行全局代码 ►先来说eval的用法,内容比较简单,熟悉的可以跳过. eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值,则返回此值,否则返回undefined. 需要特别注意的是对象声明语法"{}"并不能返回一个值,需要用括号括起来才会返回值,简单示例如下: 复制代码 代码如下: var code1='"a" + 2'; //表达式 var c

JavaScript中的Function函数_javascript技巧

首先给大家介绍JavaScript中function定义函数的几种方法: 1.最基本的作为一个本本分分的函数声明使用. 复制代码 代码如下: function func(){} 或 复制代码 代码如下: var func=function(){}; 2.作为一个类构造器使用: function class(){} class.prototype={}; var item=new class(); 3.作为闭包使用: (function(){ //独立作用域 })(); 4.可以作为选择器使用:

JavaScript中push(),join() 函数 实例详解_javascript技巧

定义和用法 push方法 可向数组的末尾添加一个或多个元素,并返回一个新的长度. join方法 用于把数组中所有元素添加到一个指定的字符串,元素是通过指定的分隔符进行分割的. 语法 arrayObject.push(newelement1,newelement2,....,newelementX) arrayObject.join(separator). 参数描述newelement1必需.要添加到数组的第一个元素.newelement2可选.要添加到数组的第二个元素.newelementX可选

JavaScript中字符串分割函数split用法实例_javascript技巧

本文实例讲述了JavaScript中字符串分割函数split用法.分享给大家供大家参考.具体如下: 先来看下面这段代码: <script type="text/javascript"> var str="How are you doing today?" document.write(str.split(" ") + "<br />") document.write(str.split("&q

Javascript中的匿名函数与封装介绍

 这篇文章主要介绍了Javascript中的匿名函数与封装介绍,本文分析了jQuery 封装.Backbone 封装.Underscore 封装等内容,需要的朋友可以参考下     迷惑了一会儿不同JS库的封装后,终于有了点头绪.大致就是: 代码如下: 创建一个自调用匿名函数,设计参数window,并传入window对象. 而这个过程的目的则是, 代码如下: 使得自身的代码不会被其他代码污染,同时也可以不污染其他代码. jQuery 封装   于是找了个早期版本的jQuery,版本号是1.7.1