`
Jack-chen
  • 浏览: 71434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

难舍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());
分享到:
评论

相关推荐

    一些javascript的扩展函数

    一些js的扩展函数 一些js的扩展函数 一些js的扩展函数 一些js的扩展函数

    JavaScript之函数(ppt)

    JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数(ppt)JavaScript之函数...

    javascript object to json string

    JavaScript对象转换为JSON字符串是Web开发中的常见操作,特别是在数据交换和存储时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于...

    javascript指南和函数式编程

    《Effective JavaScript(中文版).pdf》这本书是JavaScript编程的经典之作,它包含了68个具体的实践建议,涵盖了语言的基础到高级特性。每个建议都通过实例来解释,旨在提高代码的质量和效率。书中的知识点包括但不...

    javascript函数式编程

    JavaScript函数式编程是一种编程范式,它强调将计算视为数据处理的过程,并且重视函数作为第一类公民,即函数可以作为变量赋值、作为参数传递、作为返回值返回。这种编程风格在JavaScript中尤其常见,因为它提供了...

    C#与JAVASCRIPT函数的相互调用 C#调用JAVASCRIPT函数的调用 JAVASCRIPT调用C#函数的调用

    C#与JAVASCRIPT函数的相互调用 C#调用JAVASCRIPT函数的调用 JAVASCRIPT调用C#函数的调用

    JavaScript 轻量级函数式编程

    JavaScript 轻量级函数式编程 JavaScript 轻量级函数式编程

    JavaScript ES6函数式编程入门经典_javascript_

    6. **剩余参数与扩展运算符**:剩余参数(`...rest`)允许你在函数定义时捕获传入的多余参数,而扩展运算符(`...`)则用于展开数组或对象,如`function sum(...numbers) { return numbers.reduce((total, num) =&gt; ...

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

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

    JavaScript字符串函数大全

    在JavaScript中,字符串是用于处理文本数据的基本类型之一。字符串方法提供了丰富的功能来操作这些文本数据,使得开发人员能够更高效地完成各种任务。下面将详细介绍标题与描述中提及的一些关键字符串函数及其用法。...

    javascript变量和函数

    JavaScript,又被称为JS...总之,JavaScript的变量和函数是其核心组成部分,理解它们对于掌握JavaScript编程至关重要。深入学习这些概念,不仅可以帮助编写出更有效的代码,也有助于理解和解决在实际开发中遇到的问题。

    JavaScript中常用内置函数.docx

    Number 和 String 函数的主要用途是在 JavaScript 代码中将对象转换为数字或字符串,例如可以用来将日期对象转换为数字值,或者将数字值转换为字符串。 6. escape 和 unescape 函数 escape(charString) 函数主要作...

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

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

    如何提升JavaScript的运行速度(函数篇).doc

    如何提升JavaScript的运行速度(函数篇) 本文译自 Nicholas C. Zakas 于 2009 年 1 月 20 日在个人网站上发表的《Speed up your JavaScript, Part 2》。本文主要讨论了如何重构嵌套循环、递归,以及那些在函数内部...

    javascript 好用及常用函数(ruby)

    JavaScript 和 Ruby 都是编程语言,虽然它们各自有着独特的语法和设计哲学,但在这个话题中,我们将重点关注JavaScript,特别是它的一些好用且常用的函数。在实际的Web开发中,JavaScript 是不可或缺的一部分,它...

    JavaScript函数式编程

    全书分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的编程、类编程。除此之外,附录中还介绍了更多函数式...

    javascript 的函数的使用

    javascript的函数的简单使用小实例

    Javascript string 扩展库代码

    从给定文件内容可以看出,这篇文章讨论了JavaScript语言中的String类型以及其原生处理函数的局限性,并提出了创建一个专门针对String类型进行扩展的库的想法。以下是对文章内容的详细解读,包括对扩展库的必要性、...

Global site tag (gtag.js) - Google Analytics