手机版

JavaScript实现格式化字符串函数字符串 格式

时间:2021-09-06 来源:互联网 编辑:宝哥软件园 浏览:

在射流研究…开发中,我们可能会遇到这样一个问题

当需要通过射流研究…动态插入超文本标记语言标签的时候

特别是当遇到大量的变量拼接、引号层层嵌套的情况,会出现转义字符问题,经常出错

我们来看个例子

!DOCTYPE html html xmlns=' http://www .w3。org/1999/XHTML ' head meta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8 '/title/title脚本窗口。onload=function(){ var id=' 1 ';定义变量代码='张三;var name='张三;document.getElementById('test ').innerHTML=' a href=' # ' onclick='按钮单击(\ ' id ' \ ',\ ' code ' \ ' name '/a ';}功能按钮点击(id,code){ alert(id '-' code);}/脚本/头体div id=' test '/div/body/html运行直接报错

接下来把转义字符\'改成\'试下

运行之后,发现仍然无法正常显示

这样的代码不光看起来杂乱无章、难以维护,关键是很容易出错

接下来我们开始封装格式化字符串方法

String.js

(function () { ///summary ///引号转义符号////摘要字符串EscapeChar=' \///摘要///替换所有字符串////summary////param name=' search value '检索值/param///param name=' RePlaceValue '替换值/param字符串。原型。全部替换=函数(搜索值,替换值){ var regExp=new regExp(搜索值,‘g’);返回this.replace(regExp,RePlaceValue);} ///摘要///格式化字符串////摘要字符串。原型。format=function(){ var regexp=/\ {(\ d)\ }/g;var args=参数;var result=this.replace(regexp,function (m,I,o,n){ return args[I];});返回结果替换所有(" % " ),字符串. escape char);}})();通过占位符传递变量值,用%替代了引号转义符,代码简洁了很多,也非常方便维护,出错的机率也小了很多

!DOCTYPE html html xmlns=' http://www .w3。org/1999/XHTML ' head meta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8'/title/title脚本src=' http :字符串。js /脚本脚本窗户。onload=function(){ var id=' 1 ';定义变量代码='张三;var name='张三;document.getElementById('test ').innerHTML=' a href=' # ' onclick='按钮单击(% { 0 } %,%{1}%)'{2}/a ' .格式(身份证、代码、姓名);}功能按钮点击(id,code){ alert(id '-' code);}/脚本/头体div id=' test '/div/body/html看下测试效果

测试结果正确,并且点击事件中也正确接收到了参数值

案例下载地址:http://小哉。JB 51。net/201612/马援/StringFormat_jb51.rar

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

版权声明:JavaScript实现格式化字符串函数字符串 格式是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。