类型:电子教程大小:3.3M语言:中文 评分:2.8

标签:

立即下载

在JS中常用的替换字符串是用 Replace函数,我们先来看一下 Replace函数的用法

replace 方法

返回根据正则表达式进行文字替换后的字符串的复制。

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."));

script language="javascript">

var r= "1\n2\n3\n";

//将字母\n替换成分号

alert(r.replace("\n",";"));

结果:1;2\n3\n 只替换了第一个

var r= "1\n2\n3\n";

//将字母\n替换成分号

alert(r.replace(/\n/g, ";"));

结果:1;2;3; replace 的第一个参数可以是正则表达式,/g标识全文匹配。

js去掉前后空格,相当vbscript中的 trim 函数

function String.prototype.Trim() { return this.replace(/(^/s*)|(/s*$)/g, ""); }   // 去掉左右空格

function String.prototype.Ltrim() { return this.replace(/(^/s*)/g, ""); }            // 去掉左空格

function String.prototype.Rtrim() { return this.replace(/(/s*$)/g, ""); }            // 去掉右空格

js replace 中文分号_在JS中用Replace 全部替换字符相关推荐

  1. jsx怎么往js里传参数_给js文件传参数(详解)

    一.利用全局变量 这是最简单的一种方式,比如Google Adsense: 缺点是引入了全局变量.其中引入文件的方式还有两个变体: // 变体1:用document.write输出 document. ...

  2. js 模拟点击_爬虫js逆向之无限debugger--抖音第三方数据分析平台的坑

    爬虫js逆向系列 我会把做爬虫过程中,遇到的所有js逆向的问题分类展示出来,以现象,解决思路,以及代码实现,这三方面解析,供大家参考爬虫认知 在程序猿所有的方向中,爬虫是离money最近的一个方向,你 ...

  3. js java 中文乱码_编码问题(.java/.jsp/.js等文件的中文乱码)

    乱码的出现是因为编码与解码的不一致造成的,假如你对"中文"两个字进行了gbk格式的保存,却用utf-8格式的解读,是肯定会出现乱码的. 如何避免中文乱码:应用上下统一用一种编码格式 ...

  4. java web网站 js 简体繁体切换_通过JS实现网站繁体简体互换

    //网页简繁体转换//本js用于客户在网站页面选择繁体中文或简体中文显示,默认是正常显示,即简繁体同时显示//在用户第一次访问网页时,会自动检测客户端语言进行操作并提示.此功能可关闭//本程序只在UT ...

  5. js控制鼠标移动_原生JS封装可拖拽效果

    项目代码已上传码云:小朋友/JavaScript 封装可拖拽特效 访问该URL可查看效果:http://is666a.gitee.io/javascript_drag/ https://www.zhi ...

  6. vue如何使用原生js写动画效果_原生js写一个无缝轮播图插件(支持vue)

    轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...

  7. js encodeurl java接收_在JS中encodeURI(url)怎样才能不出现乱码?

    这次给大家带来在JS中encodeURI(url)怎样才能不出现乱码?,在JS中使用encodeURI(url)的注意事项有哪些,下面就是实战案例,一起来看一下. 一般情况下, 发送 encodeUR ...

  8. js 时间加减_【JS】550 简单几步让你的 JS 写得更漂亮

    作者:会编程的银猪 http://www.renfed.com/2017/04/29/effective-js-optimize/ 网上有不少关于 JS 编写优化建议,这里我根据自己的经验提出一些比较 ...

  9. js 取得数组下标_剖析JS和Redis的数据结构设计:数组

    语言的数据结构相通性 最近读了Redis的原理实现,感受到程序语言的相通性,只要你掌握了语言的共性,触类旁通其他语言的开发就变得非常简单了. 总体来说,各种程序语言底层的设计思想是非常相通的,首先针对 ...

最新文章

  1. 《Java编程思想》笔记13.字符串
  2. R语言函数:length计算长度、seq生成数据序列、rep将数据对象重复N遍复制、cut将连续变量分割为多水平的因子变量、pretty将连续变量x分成n个区间创建合适的断点、cat数据对象拼接
  3. tpopela/vips_java
  4. Linux-xargs命令
  5. lstm 输入数据维度_LSTM 股票市场预测入门
  6. SQL Server各个版本功能比较
  7. netbeans7.4_NetBeans 7.4 Beta提示警告无效的异常处理
  8. sdut 数据结构实验之二叉树六:哈夫曼编码
  9. mysql cast报错_mysql数据库cast
  10. 技术篇-HBase Coprocessor 的实现与应用
  11. 医疗大数据服务平台技术架构有哪些
  12. C++ std::function怎么用
  13. 软考_高级《系统分析师》考试大纲
  14. message from server: “Host is not allowed to connect to this MySQL server“问题的解决办法
  15. 智能语音计算器(四)
  16. 《天池精准医疗大赛-人工智能辅助糖尿病遗传风险预测》模型复现和数据挖掘-论文_企业
  17. java 开发优势_Java最核心的优势是什么?
  18. $U_{GSQ}$对共源放大电路电压放大倍数的影响
  19. 微信可以打开淘宝链接,淘宝也在测试微信支付,但真的都很别扭
  20. 调用支付jsapi缺少参数 total_fee

热门文章

  1. USB设备无法使用、驱动载入异常(39)
  2. CEAC之《计算机应用助理工程师》3
  3. day74-20180901-流利阅读笔记
  4. Best Reward
  5. 经典冷笑话(从一个小女孩的博客里偷来的,汗!有点不好意思)
  6. 数据结构之什么是二叉树(满二叉树和完全二叉树)以及和树的区别
  7. 1975: [Sdoi2010]魔法猪学院
  8. ROS Moveit坑:Interactive Marker(拖动轨迹球)消失与无法拖动的问题
  9. 最全surface pro7网络热点设置
  10. #pragma once 的意思