网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > 正则表达式 > 正文

jsreplace正则相关的诡异问题

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了正则表达式-js replace正则相关的诡异问题的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!


测试的昵称:jessecontentlt;

查看代码:Javascript代码
复制代码 代码如下:
$id("f_msg_grow_1").innerHTML=msg["not_club"]["grow_value"].replace(/\{NICK_NAME}/,this.info["friend"]["nick_name"]);

看代码很快可以注意到两点:“replace 正则”和“$ ”。

在js 中replace 支持正则表达式,而$ 又恰好是正则向后匹配的特殊字符,很容易想到是正则引起的问题。而据我所知正则向后引用只有$1 、$2 、$3 、$4…… ,而这里只有一个”$” 没有数字。

昵称“jessecontentlt; ”在后台经html 特殊字符处理,传到前端是:“jessecontentlt; ”,看页面结果注意到“$” 后的“&” 的也被替换了。难道是“content” 在js 里表示正则向后引用的全匹配?

然后去掉了正则,将代码改成:Javascript代码
复制代码 代码如下:
$id("f_msg_grow_1").innerHTML=msg["not_club"]["grow_value"].replace("{NICK_NAME}",this.info["friend"]["nick_name"]);

居然还是同样的结果,太诡异了!!!

更诡异的是在IE 下查看,居然是显示正确的(之前一直在ff 下测试)!

测试代码:Javascript代码
复制代码 代码如下:
document.write("姓名:{NAME}".replace(/\{NAME}/g,"张剑光content"));

IE 和ff 显示相同:C-sharp代码
姓名:张剑光{NAME}amp;
经测试,“content” 果真表示正则向后引用的全匹配,算我孤陋,之前居然不知道!

测试代码:Javascript代码
复制代码 代码如下:
document.write("姓名:{NAME}".replace("{NAME}","张剑光content"));

ff 显示:C-sharp代码
姓名:张剑光{NAME}amp
IE 显示:C-sharp代码
姓名:张剑光content
经测试,ff 下居然replace 即使不用正则,“content” 也表示向后全匹配!!!
无语!

查找资料、测试并总结如下:

一、

字符

含义

$

$

content

指定与整个模式匹配的 stringObj 的部分。

jsreplace正则相关的诡异问题_网学

当前位置: 网学 > 设计资源 > 正则表达式 > 正文

jsreplace正则相关的诡异问题

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

指定由 content 描述的匹配之前的 stringObj 部分。

版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
'

指定由 content 描述的匹配之后的 stringObj 部分。

测试代码:

复制代码 代码如下:
document.write("姓名:{NAME}__".replace(/\{NAME}/g,"张剑光content"));
document.write("姓名:{NAME}__".replace(/\{NAME}/g,"张剑光$"));
document.write("姓名:{NAME}__".replace(/\{NAME}/g,"张剑光 jsreplace正则相关的诡异问题_网学
当前位置: 网学 > 设计资源 > 正则表达式 > 正文

jsreplace正则相关的诡异问题

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
"));
document.write("姓名:{NAME}__".replace(/\{NAME}/g,"张剑光
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
'"));

Ie 、ff 和chrome 结果相同:
复制代码 代码如下:
姓名:张剑光{NAME}amp__姓名:张剑光 jsreplace正则相关的诡异问题_网学
当前位置: 网学 > 设计资源 > 正则表达式 > 正文

jsreplace正则相关的诡异问题

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
content
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
_姓名:张剑光姓名:__姓名:张剑光____

二、 ff 和chrome 下replace 不使用正则,也对上述特殊字符起作用
ie 下replace 不使用正则,对上述特殊字符不起作用 测试代码:
复制代码 代码如下:
document.write("姓名:{NAME}__".replace("{NAME}","张剑光content"));
document.write("姓名:{NAME}__".replace("{NAME}","张剑光content"));
document.write("姓名:{NAME}__".replace("{NAME}","张剑光$"));
document.write("姓名:{NAME}__".replace("{NAME}","张剑光 jsreplace正则相关的诡异问题_网学
当前位置: 网学 > 设计资源 > 正则表达式 > 正文

jsreplace正则相关的诡异问题

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
"));
document.write("姓名:{NAME}__".replace("{NAME}","张剑光
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
'"));

ff 和chrome 结果:
复制代码 代码如下:
姓名:张剑光{NAME}amp__姓名:张剑光 jsreplace正则相关的诡异问题_网学
当前位置: 网学 > 设计资源 > 正则表达式 > 正文

jsreplace正则相关的诡异问题

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
content
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
_姓名:张剑光姓名:__姓名:张剑光____

Ie 结果:
复制代码 代码如下:
姓名:张剑光content__姓名:张剑光content__姓名:张剑光$__姓名:张剑光 jsreplace正则相关的诡异问题_网学
网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > 正则表达式 > 正文

jsreplace正则相关的诡异问题

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
__姓名:张剑光
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
'__

三、 由此,我们在应用replace 等正则相关函数时,是否有必要特殊处理下上述存在情况呢?
测试代码:
复制代码 代码如下:
var str = "姓名:{NAME}";
var str2 = "contentlt;jessecontentlt;";
document.write(str.replace(/\{NAME}/g,str2));
document.write("<br />");
document.write(str.replace(/\{NAME}/g,str2.replace(/\$/g,''$$'')));//注意这里是四个“$”

页面显示:
复制代码 代码如
12下一页
  • 上一篇资讯: 精通JavaScript中的正则表达式手机整理推荐
  • 下一篇资讯: mysql正则表达式LIKE通配符
  • 相关资讯

    网学推荐

    原创论文

    文章排行榜

    设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师