`

Javascript 扩展String 函数

阅读更多

工作需要,暂时要告别javascript 。趁这段时间不是特别忙,将一些javascript 技术总结下。

/**
 * @brief  扩展原生字符串 
 * @author hechangmin@gmail.com
 
*/

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());


可能 avoidXSS 部分由于blog 有 xss 处理,所以看不全。建议下载源代码和 demo 试试。

下载 string.js 及  demo 


分享到:
评论

相关推荐

    javascript string和array常用扩展方法

    javascript string和array常用扩展方法

    de1.7 轻量级的javascript扩展函数库

    de.js是一个轻量级的javascript扩展函数库,通过扩展页面元素的方法和属性、和扩展javascript内置类型的方法来帮助web前端开发人员实现更便捷和高效的编程。以下是主要特点: 支持类似jquery的选择器,同时支持类似...

    JavaScript字符串函数大全

    除了标准的字符串方法之外,还可以通过扩展 `String` 对象的方式来实现一些额外的功能。例如,去除字符串首尾的空白字符: ```javascript String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g...

    javascript函数 javascript函数

    在JavaScript中,`String.prototype.trim()` 方法是ECMAScript 5标准的一部分,可以非常方便地应用于任何字符串实例上。 2. **lTrim()**: 左侧trim函数,专门用于去除字符串左侧的空白字符。 3. **rTrim()**: 右侧...

    编写javascript插件,来扩展已有的JavaScript功能.zip

    因此,我们可以编写一个插件,通过扩展String.prototype来实现这个功能: ```javascript String.prototype.endsWith = function(suffix) { return this.slice(-suffix.length) === suffix; } ``` 这样一来,所有...

    javascript(函数查询chm+语法pdf)

    - **对象**:字面量表示法、构造函数、原型链、方法调用、对象扩展运算符。 - **数组**:数组方法如map、filter、reduce、find、findIndex等。 - **字符串**:字符串方法如concat、substring、indexOf、replace等。 ...

    javascript调用delphi中的函数

    标题“javascript调用delphi中的函数”涉及到的技术领域是跨语言通信,具体是JavaScript与Delphi之间的交互。这种交互通常发生在Web应用程序与桌面应用程序的集成,或者在浏览器扩展和本地资源之间。以下是对这一...

    Javascript string 扩展库代码

    Javascript原生的String处理函数显得很不够丰富,原生string函数://www.jb51.net/w3school/js/jsref_obj_string.htm问题1:是否有只是针对String类型的扩展库呢?有,不多,不全面.观点2: JQuery的强大在于DOM操作...

    基于prototype扩展的JavaScript常用函数库

    在实际的Web开发中,这些扩展的函数库能够极大地提升开发效率,使代码更加简洁和易于维护。不过需要注意的是,使用原型扩展要谨慎,因为如果多个脚本库都对同一个对象的原型进行了扩展,可能会导致冲突。因此在使用...

    JavaScript常用字符串与数组扩展函数小结_.docx

    ### JavaScript常用字符串与数组扩展函数小结 #### 引言 在现代Web开发中,JavaScript是一种必不可少的语言。作为一门功能强大的脚本语言,它提供了大量的内置对象和方法来处理各种数据类型,其中最常用的就是字符...

    为JavaScript中的String添加一些常用方法

    这篇博文“为JavaScript中的String添加一些常用方法”正是探讨了如何扩展String对象,添加自定义方法以增强其功能。 首先,我们可以看到一个名为`additionStringFunc.js`的文件,这很可能是博主为了实现这些额外...

    JavaScript 函数速查

    此外,ES6及后续版本引入的许多新特性,如箭头函数、解构赋值、模板字符串等,也极大地扩展了JavaScript的功能。 这个“JavaScript 函数速查”资源可以帮助开发者快速定位所需函数,提高编程效率。在日常开发中,...

    javascript string tutorial

    字符串对象则是通过`new String()`构造函数创建的: ```javascript var stringObject = new String("This is a string object"); ``` 字符串对象作为真正的对象实例,拥有自己的属性和方法。这意味着可以为其添加新...

    学习DWR JavaScript函数整理

    ### DWR JavaScript函数整理知识点详解 #### 一、概述 本文档主要收集并整理了一系列JavaScript函数,这些函数主要用于客户端表单验证以及数据合法性检查。通过这些函数,可以有效地提高前端开发效率,确保用户输入...

    再践javascript对象、原型、属性、构造函数、扩展、json.docx

    ### JavaScript对象、原型、属性、构造函数、扩展、JSON #### JavaScript对象类型 JavaScript是一种广泛使用的脚本语言,尤其在Web开发中占据了重要的地位。它支持多种对象类型,包括内部对象、基于类的对象以及...

Global site tag (gtag.js) - Google Analytics