Fdream's Blog
专注于WEB前端开发
Powered by Google

Mootools常用方法扩展(三)

7 雨天 2009-1
Fdream 发表于 Ajax Web, 已被阅读 1013 次, 评论 0 条
关键词:mootools javascript ajax
[ 阅读字体大小: ]

继续Mootools常用方法扩展,依然还是String类的扩展。

方法:unescapseHTML

说明:这个上次忘了,和escapseHTML正好是一对儿,功能正好相反。

参考代码: [复制代码] [保存代码]

String.implement({
    unescapseHTML: function() {
        ///<summary>
        /// 反转义字符中的HTML代码
        ///</summary>
        ///<returns type="STRING" />
        var htmlChars = ['&~&amp;', '<~&lt;', '>~&gt;'];
        var r;
        var s = this;
        for (var i = htmlChars.length - 1; i >= 0; i--) {
            r = htmlChars[i].split('~');
            s = s.replace(new RegExp(r[1], 'g'), r[0]);
        }
        return s;
    }
}

简单示例:

参考代码: [复制代码] [保存代码]

var s = '<a b&c=d>'.escapseHTML();
alert(s);
// 将显示:<a b&c=d>
alert(s.unescapseHTML());

方法:toHash

说明:把查询字符串转成Hash对象,注意:一定要是查询字符串哦!比如字符串"a=b&c=2"。

参考代码: [复制代码] [保存代码]

String.implement({
    toHash: function(decode) {
        ///<summary>
        /// 把查询字符串(必须是查询字符串)转化为Hash对象
        /// 返回包含参数的hash对象
        ///</summary>
        ///<param name="decode" type="Boolean">是否要对字符串进行decode</param>
        ///<returns type="Hash" />
        decode = decode ? true : false;
        var ret = new Hash();
        var pairs = this.split('&');
        var pair = '';
        var tmp = [];
        for (var i = 0, ilen = pairs.length; i < ilen; i++) {
            pair = pairs[i];
            tmp = pair.split('=');
            if (tmp.length != 2) continue;
            if (decode) {
                ret.include(decodeURIComponent(tmp[0]), decodeURIComponent(tmp[1]));
            }
            else {
                ret.include(tmp[0], tmp[1]);
            }
        }
        return ret;
    }
}

简单示例:

参考代码: [复制代码] [保存代码]

// 将显示:2
alert('a=b&c=2&d=ef'.toHash().get('c'));

Related articles 您可能对这些文章也感兴趣:
Related comments 与该文相关的评论:(我也想说几句)
Add a comment 我来说两句: 
禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
表  情
arrow
用户名:   密码:  (匿名可不写) 同时注册?
验证码:   看不清?换个图片  看不清楚?换个图片

 
Copyright © 2005-2008,Fdream All Rights Reserved
Processed in 0.0937488 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号