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

Mootools常用方法扩展(一)

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

收集了我们团队部分常用的方法,我稍微进行了一下整理,贴出来和大家分享。

先从String的扩展开始吧,后面有一部分的扩展要依赖这里扩展的方法。为了更加清晰和详细,我会一个方法一个方法地贴出来,你完全可以把所有的方法合并在一起。

方法:startsWith

说明:这个方法可以判断字符串是不是以指定的字符串开头。

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

String.implement({
    startsWith: function(s) {
        ///<summary>
        /// 检查一个字符串是不是以某个字符串开头
        ///</summary>
        ///<param name="s" type="String">开始字符串</param>
        ///<returns type="BOOLEAN" />
        return (this.indexOf(s) == 0);
    }
}

简单示例:

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

// 下面将返回true
var a = 'here is a test string'.startsWith('here');

// 下面将返回false
var b = 'here is a test string'.startsWith('hereis');

方法:truncate

说明:这个方法会截取指定长度的字符串,一个中文字符将按照2个字符长度计算。

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

String.implement({
    truncate: function(len, ae) {
        ///<summary>
        /// 按指定长度截取字符串
        /// 可以选择在截取字符串的后面添加或者不添加省略号(三个点)
        ///</summary>
        ///<param name="len" type="Number">要截取的字符串长度</param>
        ///<param name="ae" type="Boolean">true添加省略号,false不添加</param>
        ///<returns type="STRING" />
        var tl = 0, ts = [];
        var tt = this.length;
        for (var i = 0; i < tt; i++) {
            if (this.charCodeAt(i) > 255) {
                tl += 2;
            }
            else {
                tl++;
            }

            if (tl > len) {
                break;
            }
        }
        return (ae && i < tt) ? this.substring(0, i) + '...' : this.substring(0, i);
    }
}

简单示例:

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

// 下面将返回 'here is a '
var a = 'here is a test string'.truncate('10');

// 下面将返回 'here is a ...'
var b = 'here is a test string'.truncate('10', true);

方法:escapseHTML

说明:对字符串中的HTML代码进行转义。

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

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

        return s;
    }
}

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

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