paulwong

Javascript 篇 之 扩展String 函数

/**
 * @brief  扩展原生字符串 
 
*/


var StringEx = 

    
/**
     * @brief 去除字符串前后空格
     
*/

    trim : 
function()
    
{
        
return this.replace(/(^\s*)|(\s*$)/g, "");
    }
,
    
    
/**
     * @brief 去除左边空格
     
*/

    ltrim : 
function()
    

        
return this.replace(/(^\s*)/g, ""); 
    }
,
    
    
/**
     * @brief 去除右边空格
     
*/

    rtrim : 
function()
    

        
return this.replace(/(\s*$)/g, "");      
    }
,
    
    
/**
     * @brief 避免XSS 攻击
     
*/

    avoidXSS : 
function()
    
{
        
var strTemp = this.replace(/&/g, "&");
        strTemp 
= strTemp.replace(/</g, "&lt;");
        strTemp 
= strTemp.replace(/>/g, "&gt;");
        strTemp 
= strTemp.replace(/\"/g, "&quot;");
        return strTemp;    
    } ,
    
    /**
     * @brief 获取字符串的字节长度 汉字默认双字节
     */
    byteLength : function()
    {
          return this.replace(/[^\x00-\xff]/g,
"**").length;
    },
    
    /**
     * @brief     除去HTML标签
     * @example    <div id=
"test1">aaaa</div>  =>  aaaa 
     */
    removeHTML : function()
    {
        return this.replace(/<\/?[^>]+>/gi, '');
    },
    
    /**
     * @brief      格式化字符串
     * @example 
"<div>{0}</div>{1}".format(txt0,txt1)
     */
    format : function()
    {
        var args = [];
        
        for (var i = 0, il = arguments.length; i < il; i++)
        {
            args.push(arguments[i]);
        }
        
        return this.replace(/\{(\d+)\}/g, function(m, i)
        {
            return args[i];
        });
    },
    
    /**
     * @brief 字符串转数字
     */
    toInt : function() 
    {
        return Math.floor(this);
    }    
}


for (var it in StringEx) 
{
    String.prototype[it] = StringEx[it];
}


test:


    var strTest = "   -{0}这里是扩展原生字符串test{1}- ";
            
            alert(strTest.length);                 
// output : 26
            alert(strTest.ltrim().length);      // 23
            alert(strTest.rtrim().length);      // 25
            
            alert(strTest.byteLength());        
// 36
            
            alert(strTest.format(
"abc","def")); //   -abc这里是扩展原生字符串testdef- 
            
            
var strNumber = "89989";
            
            alert(
typeof strNumber.toInt());    // number
            
            
var domTest = document.getElementById("test1").outerHTML;
            
            alert(domTest);
            
            alert(domTest.avoidXSS());
            alert(domTest.removeHTML());


下载 string.js 及  demo 

posted on 2010-03-25 00:38 paulwong 阅读(274) 评论(0)  编辑  收藏 所属分类: DHTML


只有注册用户登录后才能发表评论。


网站导航: