自己写了一个通过 className 获取 HTML 元素的函数,由于使用了正则匹配,所以支持读取多个 className,比如 getElementByClassName('Image|Picture','IMG') 可以获取 className 为 Image 或 Picture 的 IMG 元素。
- function getElementByClassName(cls,elm) {
- var arrCls =[];
- var seeElm = !mtLibs.IsNull(elm) ? elm : '*';
- var rexCls = new RegExp('(^|\\\\s)' + cls + '(\\\\s|$)','i');
- var lisElm = document.getElementsByTagName(seeElm);
- for (var i=0; i<lisElm.length; i++ ) {
- var evaCls = lisElm[i].className;
- if(evaCls.length > 0 && (evaCls == cls || rexCls.test(evaCls))) {
- arrCls.push(lisElm[i]);
- }
- }
- return arrCls;
- }
一个检查密码强度的 Javascript 函数,如果返回值大于 30 代表强度高,大于 20 代表强度中,算法方面比较简单。 就是检测是纯数字纯字母还是数字和字母混合。
这个函数是以前写极客地带的时候用的,Ajax 实现一个交互系统的确非常爽。呵呵
- function CheckPassword(val) {
- var sRe=[/[a-zA-Z]/g,/\d/g,/[^a-zA-Z0-9]/g];
- var sLe=[1,2,5];
- var sFa=[0,0,10,20];
- var iKn=0;
- var iSt=0
- for(var i=0;i<sRe.length;i++) {
- var cMa=val.match(sRe[i]);
- if(cMa!=null) {
- iSt+=cMa.length*sLe[i];
- iKn++;
- }
- }
- iSt+=sFa[iKn];
- return iSt;
- }
由于经常要通过远程桌面管理服务器,每次看到本地连接状态上的禁用按钮,就有点紧张,因为曾经不小心禁用了本地连接,还得求机房的人员启用。
今天花了点时间在网上搜到了解决的办法:打开组策略编辑器 GPEDIT.MSC,

设置后,不用重启,就立刻生效了。
用 Javascript 动态加载一个 CSS 文件的方法很简单,但是如果想要加载一个 CSS STYLE 元素,里面写入一些 CSS 语句就没有那么简单了。不过也难不倒我们,查一查 MSDN 和 Mozilla 的开发网站就可以写出来了,下面的语句兼容了 IE,Firefox,Safari,Opera 没有测试。
- function AttachStyle(ownDoc,styCss) {
- var elmSty = ownDoc.createElement('STYLE');
- elmSty.setAttribute("type", "text/css");
- if (elmSty.styleSheet) {
- elmSty.styleSheet.cssText=styCss;
- } else {
- elmSty.appendChild(ownDoc.createTextNode(styCss));
- }
- ownDoc.getElementsByTagName("head")[0].appendChild(elmSty);
- }
众所周知,Firefox 有一个 Error Console 可以很方便的调试 Javascript 的错误,特别加上一些强大的扩展,比如 Firebug,在 Firefox 下面写 Javascript 简直就是一种享受,最近写一个 Mini Editor 的时候,在Safari 下面一直不太正常,Safari 其实也有 DEBUG 功能的,只是默认没有开启而已,好了,我们的目标就是开启 Safari 的 DEBUG 功能,一共有两种方法:
- <key>IncludeDebugMenu</key>
- <true/>
至于 OS/X 系统那就更简单了,直接在命令行下运行 defaults write com.apple.Safari IncludeDebugMenu 1,就可以搞定了。