- 浏览: 53071 次
- 性别:
- 来自: 深圳
from
http://www.cnblogs.com/mxw09/archive/2010/08/12/1797905.html
replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数 是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。
下文展示了几种javascript正则表示式的repalce方式,有些方式我们很少在别的地方看到,如第二种和第三方中方法。
//下面的例子用来获取url的两个参数,并返回urlRewrite之前的真实Url
//方式一,最简单常用的方式
//方式二 ,采用固定参数的回调函数
//方式三,采用非固定参数的回调函数
//方法四
//方式四和方法三很类似, 除了返回替换后的字符串外,还可以单独获取参数
//除了使用replace方法获取正则表示式的分组外,还可以使用test ,exec方法获取分组,只是手法有所不同而已
//获取所有的分组
//使用test方法获取分组
exercise
http://hi.baidu.com/%B7%E7%D4%C6%D0%F9%BA%A3/blog/item/6a275c119f8d3a0f5aaf539e.html
<script language="javascript">
</script>
我这儿举的例子都是很简单的应用,replace()在此点上与您使用正则表达式的能力成正比。您正则表达式越强,呵呵,那您就会越疯狂的爱上它。
当然,我这儿推荐replace()的原因并不因为它能与正则表达式合作,而在于它还能与函数进行合作,发挥出强大的功能。
先看看简单例子:将所有单词首字母换成大写。
<script language="javascript">
</script>
由上可知,当正则表达式有"g"标志时,代表将处理整个字符串,即函数change的变换将应用于所有匹配的对象。而该函数有三个或更多参数,具体个数视正则表达式而定。
有了函数与正则表达式的配合,replace()处理字符串的功能空前强大起来了!
最后还举个例子,将字符串所有单词倒序,用replace()处理是如此简单。
<script language="javascript">
</script>
http://www.cnblogs.com/mxw09/archive/2010/08/12/1797905.html
replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数 是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。
下文展示了几种javascript正则表示式的repalce方式,有些方式我们很少在别的地方看到,如第二种和第三方中方法。
//下面的例子用来获取url的两个参数,并返回urlRewrite之前的真实Url
var reg=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi"); var url="http://www.qidian.com/BookReader/1017141,20361055.aspx";
//方式一,最简单常用的方式
var rep=url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3"); alert(rep);
//方式二 ,采用固定参数的回调函数
var rep2=url.replace(reg,function(m,p1,p2,p3){return p1+"ShowBook.aspx?bookId="+p3+"&chapterId="+p3}); alert(rep2);
//方式三,采用非固定参数的回调函数
var rep3=url.replace(reg,function(){var args=arguments; return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3];}); alert(rep3);
//方法四
//方式四和方法三很类似, 除了返回替换后的字符串外,还可以单独获取参数
var bookId; var chapterId; function capText() { var args=arguments; bookId=args[2]; chapterId=args[3]; return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3]; } var rep4=url.replace(reg,capText); alert(rep4); alert(bookId); alert(chapterId);
//除了使用replace方法获取正则表示式的分组外,还可以使用test ,exec方法获取分组,只是手法有所不同而已
var reg2=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi"); var m=reg2.exec("http://www.qidian.com/BookReader/1017141,20361055.aspx"); var s="";
//获取所有的分组
for (i = 0; i < m.length; i++) { s = s + m[i] + "\n"; } alert(s); bookId=m[2]; chapterId=m[3]; alert(bookId); alert(chapterId);
//使用test方法获取分组
var reg3=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi"); reg3.test("http://www.qidian.com/BookReader/1017141,20361055.aspx"); //获取三个分组 alert(RegExp.$1); alert(RegExp.$2); alert(RegExp.$3);
exercise
http://hi.baidu.com/%B7%E7%D4%C6%D0%F9%BA%A3/blog/item/6a275c119f8d3a0f5aaf539e.html
<script language="javascript">
var strM = "javascript is a good script language"; alert(strM.replace(/(javascript)\s*(is)/g,"$1 $2 fun. it $2"));
</script>
我这儿举的例子都是很简单的应用,replace()在此点上与您使用正则表达式的能力成正比。您正则表达式越强,呵呵,那您就会越疯狂的爱上它。
当然,我这儿推荐replace()的原因并不因为它能与正则表达式合作,而在于它还能与函数进行合作,发挥出强大的功能。
先看看简单例子:将所有单词首字母换成大写。
<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>
由上可知,当正则表达式有"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>
发表评论
-
要写出在各大主流浏览器上都兼容的JS代码,就要关注他们的区别,下是IE和FF综合考虑的通用DOM!
2011-08-04 14:36 922来源于 http://hi.baidu.com/g ... -
<input type="text" id="start" />输入true取布尔true
2011-07-28 14:22 880"true" and true is di ... -
Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天
2011-07-27 17:47 4813字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天 ... -
高效http页面优化法则一【JS对DOM的操作】
2011-07-08 10:58 1033很多人都认为JS的效率 ... -
form page jump
2011-07-07 10:49 854页面跳转 <input type="hidd ... -
jquery widget sample
2011-07-06 08:39 3447<!DOCTYPE html PUBLIC &quo ... -
jquery apply wait for update
2011-07-05 10:36 1658<!DOCTYPE html PUBLIC &quo ... -
deal with a great quantity domelements add event wait for update
2011-06-29 14:34 1159<!DOCTYPE html PUBLIC " ... -
JS中的attachEvent、addEventListener如何传递参数
2011-06-29 14:02 6268<!DOCTYPE html PUBLIC " ... -
window.onload 和 $(document).ready 区别 待续......
2011-06-27 09:50 2751jquery 学习之一(js中window ... -
js operate frame
2011-06-14 14:04 1193我的页面框架如下 <frameset rows=&quo ... -
js中frame的调用
2011-06-14 12:27 1044js中frame的调用 关键词 ... -
js 事件冒泡 和其它问题
2011-06-10 09:25 821js事件冒泡 <html> <head> ... -
js inner iframe get dom of parent
2011-06-02 15:00 732parent.$("#id");//jqu ... -
ajax
2011-05-27 14:18 646<!DOCTYPE html PUBLIC " ... -
add event to all the dom elements in one page except one dom
2011-05-18 10:20 870<!DOCTYPE html PUBLIC &quo ... -
count down 倒计时
2011-05-13 12:42 575<!DOCTYPE html PUBLIC " ... -
js IE与FireFox的兼容性问题 事件
2011-05-13 09:16 1030# window.event * IE:有windo ... -
deal with href remove the same element
2011-05-11 09:38 800var url="http://zhidao.bai ... -
document.form.item 问题集合的(0)和[0]取法
2011-05-09 15:10 1952<!DOCTYPE html PUBLIC " ...
相关推荐
JavaScript 中 String 对象的 replace 方法详解 replace 方法是 JavaScript 中 String 对象的方法,用于将字符串中的部分内容替换为新的内容。该方法的语法为:`stringObj.replace(regexp/substr, replacement)`,...
当我们在文本框里输入文字敲下回车后,希望在提交后网页也显示是换行的效果,这时我们需要把... } 2、使用js的replace进行处理 代码如下: str=str.replaceAll(“\n”, “ ”) 这样就可以做到js回车换行的效果了!
replace方法是javascript涉及到正则表达式中较为复杂的一个方法,严格上说应该是string对象的方法。只不过牵扯到正则的时候比较多一些。需要我们灵活的使用。 语法: stringObj.replace(regexp/substr,replacement)...
JavaScript的`replace()`方法是字符串对象的一个核心功能,用于在字符串中查找匹配正则表达式或特定字符的模式,并用新的子串替换它们。`replace()`方法的基本语法如下: ```javascript string.replace(regexp|...
JavaScript中的`replace()`方法是一个非常实用的字符串操作函数,它主要用于在字符串中查找匹配特定模式的子串,并将其替换为新的子串。`replace()`方法的语法基础是: ```javascript string.replace(regexp|substr...
除了直接在代码中使用replace方法以外,有时候,开发者可能会在浏览器的地址栏中直接执行JavaScript代码,以便快速验证代码片段。例如: ```javascript javascript:alert("abcabcabc".replace(/a/g, "ad")) ``` 在...
`JavaScript`中的`replace`方法是用来在字符串中替换匹配到的特定内容,它与正则表达式配合使用,能够实现灵活的文本处理。`replace`方法的基本语法是`stringObj.replace(rgExp, replaceText)`,其中`stringObj`是一...
### JavaScript中的`replace()`方法详解 #### 一、引言 在JavaScript中,字符串操作是一项非常重要的技能。其中,`replace()`方法是处理字符串时最常用的方法之一。它主要用于替换字符串中的某些部分,或者根据正则...
在本篇文章中,我们将学习如何使用 JavaScript 的 Replace 方法来实现关键字高亮显示。下面是一个简单的小例子,展示了如何使用 Replace 方法来达到高亮替换的效果。 Replace 方法是 JavaScript 中的一个字符串...
在使用JavaScript(JS)编程时,Replace()方法是一个常用的字符串替换函数。这个方法在处理字符串时,经常会被使用到,尤其是涉及自动化脚本、数据处理等方面。本文针对使用Replace()方法时可能遇到的几个问题进行了...
javascript正则表达式中的replace方法详解.docx
JavaScript 中的 location.reload 和 location.replace 方法的区别 在 JavaScript 中,我们经常使用 location.reload() 和 location.replace() 两个方法来刷新页面或重定向到新的 URL。但是,这两个方法之间有着...
replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数 是与模式中的子表达式...
### JavaScript中的`replace()`方法详解 #### 一、引言 在JavaScript中,字符串操作是一项非常重要的技能。其中,`replace()`方法是处理字符串时最常用的方法之一。它主要用于替换字符串中的一部分或全部内容。本文...
在JavaScript编程中,Replace方法是处理字符串替换问题的常用方法。本文主要分享了在使用Replace方法时,应该注意的一个关键知识点,即如何正确地替换字符串中的所有匹配项,而不仅仅是第一个匹配项。 首先,需要...
以下将详细介绍replace方法结合正则表达式的使用技巧和实例。 1. 替换字符:replace()方法可以将字符串中的特定字符或字符串替换成另一个字符或字符串。例如,使用replace()方法可以将一段文本中的“终古”替换成...
在前端开发中,JavaScript的replace方法是一个非常实用且强大的字符串处理工具。它不仅能够进行简单的字符串替换,还支持正则表达式匹配和多种高级替换用法,极大地提高了字符串处理的灵活性和效率。本文将详细介绍...