网络编程
位置:首页>> 网络编程>> JavaScript>> Mootools常用方法扩展(一)

Mootools常用方法扩展(一)

作者:Fdream 来源:Fdream博客 发布时间:2009-01-09 12:45:00 

标签:mootools,javascript,方法,库


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

方法:startsWidth

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

参考代码: 

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" /> 
        if (this.length <= len) { 
            return this; 
        } 
        else { 
            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; 
                } 
                ts.push(this.charAt(i)); 
            } 
            return ae ? ts.join('') + '...' : ts.join(''); 
        } 
    }



简单示例:

参考代码: 

// 下面将返回 '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 = ['&~&amp;', '<~&lt;', '>~&gt;']; 
        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; 
    } 
}


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com