关闭

jQuery源码分析7: jQuery.trim

1052人阅读 评论(0) 收藏 举报
jQuery源码分析7: jQuery.trim

// Used for trimming whitespace
var trimLeft = /^\s+/,
    trimRight = /\s+$/,
    trim = String.prototype.trim;  //< JavaScript直到1.8.1才支持trim

// Check if a string has a non-whitespace character in it
rnotwhite = /\S/,

//< 在ie中不换行符号non-break('\xA0')不算作空白,即不在字符集[\s]中,但在其他浏览器则属于空白,所以在jQuery中针对ie作了加强处理
if ( rnotwhite.test( "\xA0" ) ) {
    trimLeft = /^[\s\xA0]+/;
    trimRight = /[\s\xA0]+$/;
}

// < 若支持原生的String.prototype.tim则直接使用其过滤字符串两侧的空白,否则使用replace过滤两侧的空白
trim: trim ?
    function( text ) {
        return text == null ?
            "" :
            trim.call( text );
    } :

    // Otherwise use our own trimming functionality
    function( text ) {
        return text == null ?
            "" :
            text.toString().replace( trimLeft, "" ).replace( trimRight, "" );

    },


补充

最后需要提到的是ECMA-262(V5)中为String提供原生的trim方法.此外Molliza Gecko 1.9.1引擎中还给String添加了trimLeft,trimRight方法.

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:991043次
    • 积分:13815
    • 等级:
    • 排名:第903名
    • 原创:332篇
    • 转载:403篇
    • 译文:27篇
    • 评论:42条
    新浪微博 @billfeller