在前端与后台交互的时刻我们通常都需要将后台通报的数据绑定到html中,这个绑定数据的方式我们通常是使用jQuery或者使用原生的innerHTML举行绑定,固然也可以使用artTemplate模板来绑定数据,那么artTemplate模板它绑定数据的原理是什么呢?实在它就是利用了replace()方式。
对于正则replace约定了一个特殊符号符”$”:
1)、$i(i取值局限1~99):示意从左到右正则子表达式所匹配的文本 2)、$&:示意与正则表达式匹配的所有文本 3)、$`(`:1旁边的谁人键):示意匹配字符串的左边文本 4)、$'(':单引号):示意匹配字符串的右边文本 5)、$$:示意$转移
<script type="text/javascript"> /*要求将字符串中所有的a所有用A取代*/ var str = "javascript is great script language!"; //只会将之一个匹配到的a替换成A console.log(str.replace("a","A")); //只会将之一个匹配到的a替换成A。由于没有在全局局限内查找 console.log(str.replace(/a/,"A")); //所有a都被替换成了A console.log(str.replace(/a/g,"A")); </script>
<script type="text/javascript"> /*要求将下面这个米素中的unabled类移除掉*/ <div class=”confirm-btn unabled mb-10” id=”j_confirm_btn”>提交</div> var classname = document.getElementById(“j_confirm_btn”).className; /*(^|\\s)示意匹配字符串开头或字符串前面的空格,(\\s|$)示意匹配字符串末端或字符串后面的空格*/ var newClassName = classname.replace(/(^|\\s)unabled(\\s|$)/,””); document.getElementById(“j_confirm_btn”).className = newClassName; </script>
<script> /*要求:将字符串中的双引号用"-"取代*/ var str = '"a", "b"'; console.log(str.replace(/"[^"]*"/g,"-$1-")); //输出效果为:-$1-, -$1- /*注释:$1就是前面正则(/"[^"]*"/g)所匹配到的每一个字符。*/ </script>
<script> /*要求:将下面字符串替换成:javascript is fn.it is a good script language*/ var str = "javascript is a good script language"; console.log(str.replace(/(javascript)\s*(is)/g,"$1 $2 fn.it $2")); /*注释:每一对括号都代表一个分组,从左往右划分代表之一个分组,第二个分组...;如上"*(javascript)"为之一个分组, "(is)"为第二个分组。$1就代表之一个分组匹配的内容,$2就代表第二个分组匹配的内容,依此类推...*/ </script>
<script> /*要求:将下列字符串中的"java"用红色字体显示*/ var str = "Netscape在最初将其脚本语言命名为LiveScript,厥后Netscape在与Sun互助之后将其改名为JavaScript。 JavaScript最初受Java启发而更先设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。 但JavaScript的主要设计原则源自Self和Scheme。"; document.write(str.replace(/(java)/gi,'<span style="color: red;font-weight: 800;">$1</span>')); /*注释:必须要开启全局搜索和忽略大小写,否则匹配不到所有的”java”字符*/ </script>
<script type="text/javascript"> /* /ab(cd)\1e/ 这里的 \1 示意把第1个分组的内容重复一遍*/ console.log(/ab(cd)\1e/.test("abcde"));//false console.log(/ab(cd)\1e/.test("abcdcde"));//true /*要求:将下列字符串中相领重复的部门删除掉"*/ var str = "abbcccdeee"; var newStr = str.replace(/(\w)\1+/g,"$1"); console.log(newStr); // abcde </script>
<script> var str = "bbabc"; var newStr = str.replace(/(a)(b)/g,function (){ console.log(arguments);//["ab", "a", "b", 2, "bbabc"] /*参数依次为: 1、整个正则表达式所匹配到的字符串----"ab" 2、之一个分组匹配到的字符串,第二个分组所匹配到的字符串....依次类推一直 到最后一个分组----"a,b" 3、此次匹配在源字符串中的下标,返回的是之一个匹配到的字符的下标----2 4、源字符串----"bbabc" */ }) </script>
<script> /*要求:将下列字符串中的所有首字母大写*/ var str = "Tomorrow may not be better, but better tomorrow will surely come!"; var newStr = str.replace(/\b\w+\b/gi,function (matchStr){ console.log(matchStr);//匹配到的字符 return matchStr.substr(0,1).toUpperCase() + matchStr.substr(1); }); console.log(newStr); </script>
<h1>周星驰喜剧电影:</h1> <div id="content"></div> <script type="text/javascript"> var data = { name: "功夫", protagonist: "周星驰" }, domStr = '<div><span>名称:</span><span>{{name}}</span></div><div><span>导演:</span><span>{{protagonist}}</span> </div>'; document.getElementById("content").innerHTML = formatString(domStr,data); /*绑定数据的焦点就是使用正则举行匹配*/ function formatString(str,data){ return str.replace(/{{(\w+)}}/g,function (matchingStr,group1){ return data[group1]; }); } </script>
<script> var str = "i am a good man"; var newStr = str.replace(/good/g,"$&"); console.log(newStr);//效果:输出i am a good man /*注释:在这里”$&”就是与正则表达式举行匹配的谁人源字符串*/ </script>
<script> /*要求:将"i am a good man"替换成"i am a good-gond man" */ var str = "i am a good man"; var newStr = str.replace(/good/g,"$&-$&"); console.log(newStr); /*注释:在这里”$&”可以获取到前面正则表达式匹配的内容,如上面的”$&”就是正则表达式匹配到的”good”*/ </script>
<script> /*要求:将下列字符串替换成"java-java is a good script"*/ var str = "javascript is a good script"; var newStr = str.replace(/script/,"-$`"); console.log(newStr) /*注释:"$`"获取的是正则左边的内容,如上正则中"script"字符前面的是"java","-$`"就是"-java","-$`"会把script替换掉。*/ </script>
凤尾绿咬鹃(凤尾绿咬鹃~玛雅人的圣鸟) 凤尾绿咬鹃又叫"阿兹特克鸟",是一种生活在中南美洲热带雨林中美丽的鸟类。在古代玛雅和阿兹托克文化中,凤尾绿咬鹃被认为是羽神蛇(格查尔神)的化身,享有神圣的地位...
一、 CSRF客户端请求伪造,集中介绍这三个漏洞,因为本质都是钓鱼。CSRF的本质是,强迫用户使用浏览器向有漏洞的网站发起一个有害请求,由于浏览器会自动携带cookie,黑客伪造用户操作成功。CSRF...
本文目录一览: 1、《黑客攻防从入门到精通手机安全篇》pdf下载在线阅读全文,求百度网盘云资源 2、《黑客攻防技术宝典iOS实战篇》pdf下载在线阅读,求百度网盘云资源 3、《黑客攻防从入门到...
许多 孕妈妈妈妈在生小孩的情况下会挑选刨腹产,而刨腹产的生活在做到38周上下后是能够自主挑选的,如今立刻进到阴历十月份了,又具一大批新生儿在这个时候来临,生小孩是一件十分重特大的事儿,因此 在挑选刨腹...
在介绍SharedArrayBuffers之前,我需求解说一下并行运转代码和JavaScript。 Powershell个版别对日志的支撑度 cd aflsmart一、 进犯力度黑客QQ技术服务接单,...
编辑导读:滴滴好像老是布满了危机感?从青桔单车、滴滴外卖到最近的花小猪和青菜拼车,为了规避单一品牌的运营风险,滴滴一直在不绝地开发新的品牌疆场。在大出行市场,滴滴始终在不绝开辟界线。文章对滴滴的多元化...