文章探索:   分类:    关键字:  
  + 栏目导航
  + 相关文章
document 对象
Window.Open详解
JS replace 方法
JScript 属性
JScript 对象
JScript 方法
关于window.opener的用法
JavaScript语法——style.display 属..
不被拦截的弹出窗口代码
showModalDialog和showModelessDialog..
showModelessDialog()使用详解
IE中非模式对话框(showModelessDialog..
JS eval()函数
Preferences 指南
JS中的setTimeout和setInterval的区别
JavaScript对象与数组参考大全
javascript动态增加、删除、填充表格..
用Java实现几种常见的排序算法
JavaScript 日期函数
JavaScript 使用字符串函数
如何用Javascript获得TextArea中的光..
Document 对象方法
在input中只能输入数字
selection.createRange() 用法例子
获取网页各种宽高的值
JavaScript方法 - indexOf方法
substring函数详解
40种网页常用小技巧(javascript)
event.X和event.clientX有什么区别
clientX, clientY,offsetX, offsetY,..


技术教程 -> JavaScript教程 ->  
JS replace 方法
来源:转载   人气:1538   录入时间:2007-11-8
    
   返回根据正则表达式进行文字替换后的字符串的复制。
   
   stringObj.replace(rgExp, replaceText)
   
   参数
   stringObj
   
   必选项。要执行该替换的 String 对象或字符串文字。该字符串不会被 replace 方法修改。
   
   rgExp
   
   必选项。为包含正则表达式模式或可用标志的正则表达式对象。也可以是 String 对象或文字。如果 rgExp 不是正则表达式对象,它将被转换为字符串,并进行精确的查找;不要尝试将字符串转化为正则表达式。
   
   replaceText
   
   必选项。是一个String 对象或字符串文字,对于stringObj 中每个匹配 rgExp 中的位置都用该对象所包含的文字加以替换。在 Jscript 5.5 或更新版本中,replaceText 参数也可以是返回替换文本的函数。
   
   说明
   replace 方法的结果是一个完成了指定替换的 stringObj 对象的复制。
   
   下面任意的匹配变量都能用来识别最新的匹配以及找出匹配的字符串。在需要动态决定替换字符串的文本替换中可以使用匹配变量。
   
   字符 含义
   $$ $ (JScript 5.5 或更新版本)
   $& 指定与整个模式匹配的 stringObj 的部分。 (JScript 5.5 或更新版本)
   $` 指定由 $& 描述的匹配之前的 stringObj 部分。 (JScript 5.5 或更新版本)
   $' 指定由 $& 描述的匹配之后的 stringObj 部分。 (JScript 5.5 或更新版本)
   $n 捕获的第 n 个子匹配,此处 n 为从1到9的十进制一位数。 (JScript 5.5 或更新版本)
   $nn 捕获的第 nn 个子匹配,此处 nn 为从01到99的十进制两位数。 (JScript 5.5 或更新版本)
   
   
   如果 replaceText 为函数,对于每一个匹配的子字符串,调用该函数时带有下面的 m+3 个参数,此处 m 是在 rgExp 中捕获的左括弧的个数。第一个参数是匹配的子字符串。接下来的 m 个参数是查找中捕获的全部结果。第 m+2 个参数是在 stringObj 中匹配出现的偏移量,而第 m+3 个参数为 stringObj。结果为将每一匹配的子字符串替换为函数调用的相应返回值的字符串值。
   
   Replace 方法更新全局 RegExp 对象的属性。
   
   示例
   下面的示例演示了 replace 方法将第一次出现的单词 "The" 替换为单词 "A" 的用法。
   
   function ReplaceDemo(){
    var r, re; // 声明变量。
    var ss = "The man hit the ball with the bat.\n";
    ss += "while the fielder caught the ball with the glove.";
    re = /The/g; // 创建正则表达式模式。
    r = ss.replace(re, "A"); // 用 "A" 替换 "The"。
    return(r); // 返回替换后的字符串。
   }
   另外, replace 方法也可以替换模式中的子表达式。 下面的范例演示了交换字符串中的每一对单词:
   
   function ReplaceDemo(){
    var r, re; // 声明变量。
    var ss = "The rain in Spain falls mainly in the plain.";
    re = /(\S+)(\s+)(\S+)/g; // 创建正则表达式模式。
    r = ss.replace(re, "$3$2$1"); // 交换每一对单词。
    return(r); // 返回结果字符串。
   }
   下面的示例(在 JScript 5.5 及更新版本中执行)执行的是从华氏到摄氏的转换,它演示了使用函数作为 replaceText。要想知道该函数是如何工作的,传递一个包含数值的字符串,数值后要紧跟 "F" (例如 "Water boils at 212")。
   
   function f2c(s) {
    var test = /(\d+(\.\d*)?)F\b/g; // 初始化模式。
    return(s.replace
    (test,
    function($0,$1,$2) {
    return((($1-32) * 5/9) + "C");
    }
    )
    );
   }
   document.write(f2c("Water freezes at 32F and boils at 212F."));
   要求
   




Copyright(C)2007-2021 广州市佳沛数码科技有限公司 版权所有
公司地址: 广州市荔湾区东漖北路560号511室
电话:020-81803473 传真:020-81544987