Javascript中的正则表达式

2014年9月16日 没有评论

Demo:数字排重 var num = ’87702226999984′; // num.match( /(\d)\1+/g ).map(function(v){ // v = ” + v; // num = num.replace( v, v.charAt(0) ); // }); // console.log( num ); console.log( num.replace( /(\d)\1+/g, ‘$1′ ) ); /* 知识点: 1)正则中引用分组 \1 2)replace中引用分组 $1 Extra: 3)非贪婪匹配 +? 4)不生成引用分组 (?:) */ 参考资料:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references

分类: Javascript 标签:

Javascript压缩工具里的坑

2014年8月28日 没有评论

Google Closure Compiler 官网:https://developers.google.com/closure/compiler 用法之一: java -jar compiler.jar –js_output_file=out.js in1.js in2.js in3.js … 一段暴露坑的代码(test.js): function countDown(btn, goodinfo, timestamp) { btn.attr(‘t’, 0); var timeSpan = goodinfo.activity_start – timestamp; //时间差 if (timeSpan > 86400) { //24小时外 btn.text(‘抢兑时间:’ + Gold.util.getStartTime(goodinfo.activity_start)); } else { var t = null; func(); function func() { if (timeSpan > 0) { //24小时内 var [...]

分类: 前端 标签:

批量下载百度图片里搜索出的图片结果

2014年8月4日 没有评论

/* 早上,小弟急需一批图片,情急之下,赶制了一份代码,用来批量下载百度图片里搜索出的图片结果。 首先用以下脚本在console里获取图片的链接: var a = document.querySelectorAll(‘img’); var b = Array.prototype.slice.call(a).map(function(img){ return ( img.getAttribute(‘src’) ); }); console.log( b,b.length ); 然后我视图用迅雷、QQ旋风的批量下载功能,均无法下载。 所以就借助node.js,伪造header里的refer字段做一下尝试,successed! (refer字段就从chrome dev tool里的nextwork下,随便找一个图片请求,从中复制出refer即可。喔喔,我的鼻子是不是要变长了…) */ var http = require(‘http’); var fs = require(‘fs’); var urls = [ "http://img2.imgtn.bdimg.com/it/u=2118320824,2411832758&fm=21&gp=0.jpg", "http://img5.imgtn.bdimg.com/it/u=2005271455,882838282&fm=15&gp=0.jpg", "http://img5.imgtn.bdimg.com/it/u=417366983,2380296348&fm=23&gp=0.jpg" ]; var index = 0; function getImg( ){ var url = urls[index]; http.get( { host:’img4.imgtn.bdimg.com’, [...]

分类: Javascript 标签:

《前端程序员Sigma的奇幻梦境》

2014年8月3日 没有评论

《前端程序员Sigma的奇幻梦境》 ——作者:笃行天下 时间:2014.08.03 午后的床上,我睁开朦胧的睡眼,感觉自己已经睡了八分熟了,剩余的懒意让我不想起床。 从慢慢张开的眼缝里,看到了高高脊梁的屋顶,黝黑的瓦片映着窗外射入的光线,几乎可以分辨清每一块的边界。屋里一片灰暗的色调,显出几分凉意,光着的膀子也没出太多的汗。 从眼角的余光中,我看到右侧的墙和梁头间有一块脸盆大小的蜘蛛网。把目光的焦点移到网上,发现上面有一些小虫,可能是蜘蛛捕获的猎物吧。 不,那虫分明还在灵巧的沿着网线自由爬动,看,还有更大一些的虫子,也在灵巧迅速的爬动。 奇怪,这网上好像并没有蜘蛛。懒意被我忽略了几分,这是什么东西,我想不清楚。算了,不想它了,反正又不会落下来。 想着便要侧身向左,打算再眯一会儿。这时,我发现有只更大的虫子——比刚刚看到的那几只走动的大虫要大上10倍——这只大虫像蜘蛛一样,借助一根丝脱离了网,垂了下来。它晃悠着丝线,像是在下降。 虫子的轮廓好像越来越大了,我这才发觉它的确在下落中。映着光线,我看到这“大虫”竟然是个蝎子,身体被光照映的呈半透的黄色,周身和两个深色大钳子的边缘还有一层暗黑的绒毛。 它离我越来越近了,而且下降的幅度很明显,速度又不均匀。这时我警惕了起来,觉得应该赶紧起来躲开了,因为它正对着我的脸,落点好像就对着我头部的位置! 啊,我想尽力向左侧身…身体却像是被冰冻了一般,僵硬的根本不听使唤…使劲的坚持,也没能翻身。我赶紧又试图用左手先把右手拉过来,撑着床面直接起来,可是——它们都被“冻住”了……蝎子依然还在荡着下降,它好像发现了我,而且似乎可以确定它的目标就是我!!! 我更加的紧张,心跳已经砰砰作响,像个快要炸了的高速马达。不行了!不行了!……啊!……啊!…… 轰的一下,周身的环境在眼里像褪色一般、像幕布被拉去一般,突然变亮……我身体的姿势竟然也正在撑着床,停留在起身的过程中。我看到了桌上的电脑、鼠标、水杯,顿时发现,我原来做了一个梦。我坐在床上愣了许久,心跳减缓,才回过神来。 在梦里醒来的那个梦欺骗了我,让我以为是真实的,一系列虚拟的场景投射到我的心理,得到的反馈又是那么的真实。 为什么构造了如此荒诞的情节,让一个梦“嵌套”到另一个梦里呢???让我看到一个内层的梦的结束,又被迫从它外层的梦的里头“穿越”出来,回到现实。 看到床头睡前我翻开的书页,是 Javascript 语言的闭包( Closure )那章——我突然意识到,刚刚梦中的我,像是一个局部变量( Local Variable ),他看到了另一个作用域的终结,又却想挣脱其他物体( Object )的威胁,于是拼命逃离了那层空间,跃到了全局作用域( Golobal )里。不,现在还无法确定是否是全局作用域,因为它好像压根没有Window…

分类: 前端, 未分类 标签:

KMP查找算法的Javascript实现

2014年8月2日 没有评论

// KMP 今天有幸了解这个算法,在电脑前琢磨很久,写出这段代码,算法是程序的灵魂,我的灵魂又强大了一步~ function _indexOf(str, findStr, m) { var sLen = str.length; var fLen = findStr.length; if (fLen > sLen) { return -1; } m = m || 0; if (m == sLen) { return -1; } function getOffset() { var offset = 0; for (var i = 0; i < fLen; i++) { for [...]

分类: Javascript 标签:

grunt:压缩文件夹内文件,但不合并

2014年7月23日 没有评论

uglify: { options: {}, dist: { files: [{ expand: true, // Enable dynamic expansion. cwd: '<%= srcPath %>', // Src matches are relative to this path. src: ['**/*.js'], // Actual pattern(s) to match. dest: ‘<%=distPath %>’ // Destination path prefix. }] } } 关键是src的通配写法,包含子文件夹。

分类: Javascript, 前端 标签:

小脚本:从优酷专辑中抓取视频信息

2014年7月5日 没有评论

/* * 从优酷专辑中抓取视频信息 * 素材页:http://www.youku.com/playlist_show/id_4982136.html * 运行:请到Chrome Dev Tools 的 console里执行 * 作者:Sigma http://g8up.cn 欢迎来电定制个性化脚本~ * 日期: 2014年7月5日 15:13:16 */ ({ ‘title’:'题记’, ‘content’:'最讨厌专辑里的视频不按顺序排列了,有了这个工具,就降低创建有序专辑的成本了。收集到如上链接,就可以排列好顺序,直接添加到新创建的专辑里了。’, ‘demo’:'http://www.youku.com/playlist_show/id_22501422.html’ }); /* * vDom : items > ul.v */ function video(vDom) { this.dom = vDom; }; video.prototype = { v_link: function() { return this.dom.find(‘.v_link’).find(‘a’).attr(‘href’); }, v_thumb: function() { return this.dom.find(‘.v_thumb’).find(‘img’).attr(‘src’); }, [...]

分类: Javascript, 前端 标签:

博客静态资源转移到CDN了~

2014年6月8日 没有评论

上周偶然了解了七牛 CDN 提供限流量免费服务。 昨晚着手进行接入。 七牛为 wordpress 定制了插件,直接在后台即可配置。 不过由于对插件上的某个表单的文字提示理解有歧义,耗时很久,到今日才完全成功。 以后可以节约不少云豆了~ 七牛 cdn 的 worderpress 配置大致流程如下: 1.创建七牛免费的 cdn 存储空间( bucket ) 2.安装 wordpress 插件,填写相关配置 3.保存生效。 — 我就栽在填写“七牛绑定的域名”这一项上。一直理解为“七牛(的域名所)绑定的(我的)域名”,其实应理解为“我的域名绑定的七牛域名”,要填写的是七牛的二级域名!!! 想排除歧义的方式很多,可以在表单旁来个示例神马的,如: example.qiniudn.com。 产品经理们,希望你们语文是语文老师教的,好好揣摩一下给用户呈现的文字,是否有更高效、无歧义的表达方式吧。

分类: 产品观察 标签:

如何给 Burp Suit 安装 JSON decoder

2014年6月5日 没有评论

如何安装 Burp Suit Pro 扩展 以特例说事儿。 如何安装 JSON decoder 这个 JSON 格式化工具是用 python 实现,想添加到 Burp Suit 中,还需要借助另一个工具 Jython 的中间件支持。 Jython 负责兼容 python 和 java 。 如何安装 Jython 呢? Jyhton 官网下载个 jar 格式的安装包。 要执行jar文件,必须要有 jdk 。 如何安装 jdk 呢? 到java官网下载jdk安装文件,然后一路 next ,再设置两个环境变量(path / classpath)即可。 然后在命令行执行 java -jar Jython_install.jar (类似文件名),之后按提示搞定。 然后打开 Burp Suit : java -jar BurpSuitXXX.jar [...]

分类: 未分类 标签:

初学NaCl sdk遇到的两个坑

2014年6月1日 没有评论

1.在从官方下载完sdk后,需要nacl update,我试过多次都无法正常下载。 后来Google了很多次,找到解决方式: 需要把dns手动设置成google的8.8.8.8,就能畅通下载了。(此处是不是应该Fuck一下GFW? Whatever ,Fuck it!) 2.按官方文档描述,应该启动一个http服务,用来调试part1里的demo。 内置的serve通过make命令启动。我是win7,在执行make serve命令后,总会提示: sh:d:\program :No such file or derectory. 直觉告诉我是环境变量问题,但不确定是哪里出了错。 好在我用了alternative solution,使用nginx起个本地服务,依然可以正常调试。make serve不是必须的~ 从5.1号假期NaCl走进我的视野开始,到现在整整一个月。就在刚刚,终于看到了久违的Demo里的“hello from NaCl”,心中不免有些窃喜。不过任重而道远,C++的范畴内的知识,应该还需我花不少功夫。 如果你有好的学习资料或者方法,跪求分享。

分类: Chrome扩展 标签: