字符串+正则相关函数汇总

有这样几个和字符串替换中经常使用到的函数:replacematchsearchexectest,老是混淆,这里列出来对比。

前三个是字符串的方法,后面两个方法属于正则式。


String相关的函数:

1. replace

调用方法:str.replace(regexp|substr, newSubStr|function)

注意点:如果第一个参数为字符串或者非全局g的正则,替换只会发生一次。

'aaaa'.replace('a','b')==='baaa';
'aaaa'.replace(/a/,'b')==='baaa';
'aaaa'.replace(/a/g,'b')==='bbbb';

使用字符串作为第二个参数的时候,替换字符串newSubStr可以插入下面的特殊变量名

变量名代表的值
$$插入字符串 "$".
$&插入第一个参数所匹配的子串
$`插入匹配子串左边的内容.
$'插入匹配子串右边的内容.
$n or $nn如果n或nn是个十进制的数字,并且replace方法的第一个参数是个正则表达式,那么$n表示正则表达式中的第n个子匹配字符串.

- 阅读剩余部分 -

华为Mate7入手两周

刚到手那天,用了两年的魅族MX2突然间不能开机了,真是巧合。

华为Mate7

印象:

第一印象:大,很难握
第二印象:宽,穿牛仔裤放口袋就蹲不下来了

不过当初买也就是打算了来看PDF

华为Mate7

系统:

华为的EMUI3.0

我用惯了魅族的Flyme,切换过来真是难受,华为是硬件上去了,屏幕大了,但是软件没跟上的感觉

单手操作很困难,触摸范围单手只有左/右两个角落,顶上是只能靠另一只手的,魅族Flyme至少还有一个全屏下拉悬停的功能嘛

界面很乡土气息,活生生就是煤矿老板用的,原配的主题什么样可以百度,一大堆;换上Flyme图标主题,嗯,好受多了。


- 阅读剩余部分 -

[译]GoogleChrome开发者工具快捷键

开发者工具有一些内置的快捷键,可以帮助大家在日常工作中节省时间。下面是一些快捷方式已以及对应的快捷键(Windows/Linux/Mac),有一些快捷键是全局的,有一些是特定面板才有的。

打开开发者工具

在谷歌浏览器里面你可以使用以下的方式打开:

  • 浏览器右上角的菜单里面选择--更多工具--开发者工具

  • 在任何页面当中右击选择--审查元素

XWindows / LinuxMac
打开开发者工具F12, Ctrl + Shift + ICmd + Opt + I
在审查窗口和浏览窗口之间切换Ctrl + Shift + CCmd + Shift + C
打开开发者工具并且切换到控制台Ctrl + Shift + JCmd + Opt + J
审查审查器(需要先脱离浏览窗口)Ctrl + Shift + ICmd + Opt + I

当开发者工具窗口打开的时候,键入 ? or F1 打开常规设置; Esc 关闭设置对话框。

所有面板

- 阅读剩余部分 -

[教程]Win 8 用户文件夹重命名

Windows8新引入了Microsoft在线账号登录的方式,比如bob@live.cn,然后登陆之后会发现,C盘下面的Users文件夹里面自动创建了一个bob的文件夹,但是运气不一定这么好,有可能是bob_001这样的名称,此时对于有强迫症的你,怎么能容忍这样的情况!又或者你仅仅就是想要修改一下用户名文件夹名称。

方法有两种,取决于你是否已经登录了微软的帐号。

我已经登录了微软在线帐号

  1. 除了当前帐号,再创建一个本地的管理员帐号(已有另外的管理员帐号则不需要这一步)

  2. 重启

  3. 登录第一步的管理员帐号

  4. Win+X, G计算机管理 → 系统工具 → 本地用户和组 → 用户,右键点击右侧的用户,重命名

  5. Win+X, A命令提示符(管理员)
    ren C:\Users\bob_001 bob

  6. Win+R打开运行
    regedit

  7. 找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\右侧属于你用户的SID,你可以一个一个地点开查看ProfileImagePath的值,找到之后,改成你希望的名字,比如C:\Users|bob

  8. 现在回到你之前的的微软在线账号那个用户,OK~



- 阅读剩余部分 -

iOS下click事件不冒泡的解决

前几天遇到了,使用zepto的.on进行click事件委托的时候,当委托到document,发现只有目标元素为a才行,现象就是click事件不会冒泡到document。

当时由于没有设备,没有过多的测试,最近部门新添好多iOS设备啦~~~btw ,今天发现jQuery的文档里面居然提到了这一点。

On mobile iOS (iPhone, iPad and iPod Touch) the click event does not bubble to the document body for most elements and cannot be used with .live() without applying one of the following workarounds:

  1. Use natively clickable elements such as a or button, as both of these do bubble to document.

  2. Use .on() or .delegate() attached to an element below the level of document.body, since mobile iOS does bubble within the body.

  3. Apply the CSS style cursor:pointer to the element that needs to bubble clicks (or a parent including document.documentElement). Note however, this will disable copy\paste on the element and cause it to be highlighted when touched.

简单翻译一下,就是

  1. 使用原生的支持click冒泡到document的元素,例如abutton

  2. 委托事件的时候,委托到body以下的元素上面

  3. 对目标元素使用CSS cursor:pointer, 或者应用于其父元素——包括html都行,不过会导致复制粘贴失效,而且点击时候高亮

- 阅读剩余部分 -