js 替换

2016-02-19 09:00 5 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的js 替换,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - Web开发 】

问题:就是将()()()((())())换成[][][[[]][]]的那种了,处理括弧配对用的
作者:infinte
要求:
[1]支持任意的“括弧”,也就是可以用{}()……或者类似XML的:a/a、[cc][cc:over]、{ttt] [ttt}
[2]严格按照层次匹配,就是(a)b(c(d)e)换成[a]b[c[d]e]而非[a]b[c(d]e) (结束太早了)
[3]左括号比右括号多时,保留多余的括号,即:()()((()()) → [][]([[][]]
[4]右括号比左括号多,保留多余的括号,即:(()()(()()))))) → [[][][[][]]])))

方案一:使用堆栈
作者:winter
代码:
代码如下:

script 
var strArr = "()()((()())"; 

function change(str) 

 var a=str.split(""); 
 var c=0; 
 var stack=[]; 
 var match={ 
 "(":")", 
 "{":"}", 
 "":"", 
 "" 
 } 
 for(var i=0;ia.length;i++) 
 if(match[a[i]]){ 
 stack.push([a[i],i]); 
 } 
 else if(a[i]==")"||a[i]=="}"||a[i]==""||a[i]=="】"){ 
 if(!stack.length)continue; 
 var tmp=stack.pop(); 
 if(match[tmp[0]]==a[i])a[i]="]",a[tmp[1]]="["; 
 else stack.push(tmp); 
 } 
 return a.join("") ; 

alert(change(strArr)); 
/script 

方案二:使用正则
作者:月影
代码:
代码如下:

script 
var strArr = "()()((()())"; 
var o = strArr; 
var r = o; 
do{ 
 o = r; 
 r = o.replace(/(([^()]*))/g,function(s,a){return '['+a+']'}); 
}while(o!=r); 
alert(r); 
/script 

来源:http://www.tulaoshi.com/n/20160219/1589158.html

延伸阅读
标签: Web开发
毫无疑问,John Resig 是一个细致且善于思考的人,对于我们通常使用的匿名函数,在他的细究之下,也能挖掘出一些新的东西。通常情况下,当一个函数调用自身时,递归就出现了,对于下面这样的函数调用,我们并不陌生。 1.function yell(n){ 2.       return n 0 ? yell(n-1) + "a" : "hiy&quo...
标签: Web开发
鉴于安全性的考虑,不少网站在登录输入密码时都采用了软键盘,避免一些键盘记录工具和木马对击键的捕捉。项目中也有这个需求,就分享给大家了,贴个效果图上来。。有兴趣的朋友可以收藏。。..如果觉得功能有点庞大,只需要数字小键盘的朋友,可参考代码精简。 下载大键盘: http://www.cnblogs.com/Files/sccxszy/softKey.rar 小键盘:http://ww...
标签: Web开发
\[img\](.+)\[/img\] img src="\1" border="0"
标签: Painter
painter中除了魔术棒的选取,还可以利用颜色选取形成新的通道,转为选区,重新定义这个颜色。这个技巧在photoshop中可能大家已经很熟悉了,就是color range的命令,painter同样可以做到…… 1.打开Channels(通道面板)的三角隐藏菜单,选择New frwww.tulaoshi.comom color range(从色彩范围获得新通道)。 2.在弹出的颜色范围对...
标签: Web开发
点击这里返回脚本之家 HTML教程 栏目.想浏览CSS教程请点这里。 上文: 标记语言为文字指定CSS样式 。Chapter 14 图片替换 随着更多设计师与开发者开始使用标准(特别是CSS),每天都会有许多新技术被发现,达成相同目标的新方法,更好的方法也不断发展着. "图片替换" 可以说是这种变革的最佳范例,这是用CSS把普通文字置换成图片的技术....

经验教程

984

收藏

91

精华推荐

Word:妙用“空行替换”

Word:妙用“空行替换”

駕馭心靈

js获取变量

js获取变量

1234许诺

Opacity.js

Opacity.js

阳光的小鱼666

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部