`
Jack-chen
  • 浏览: 71972 次
  • 性别: 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函数式编程.pdf

    不过,由于【标题】中提供了文档的名称——"JavaScript函数式编程.pdf",我可以根据这个名称扩展出关于JavaScript函数式编程的知识点。 JavaScript函数式编程的知识点非常丰富,涉及很多方面的内容,下面将详细介绍...

    javascript object to json string

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

    javascript指南和函数式编程

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

    InTouch扩展函数库.rar

    这款软件的强大之处在于其丰富的功能和高度的可扩展性,其中就包括了各种扩展函数库。 "Intouch扩展函数库.rar"是一个包含额外功能和定制工具的压缩包文件,旨在增强InTouch的基本功能。扩展函数库通常包含了用户...

    javascript调用delphi中的函数

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

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

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

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

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

    JavaScript ES6函数式编程入门经典

    《JavaScriptES6函数式编程入门经典》使用JavaScriptES6带你学习函数式编程。你将学习柯里化、偏函数、高阶函数以及Monad等概念。  目前,编程语言已经将... ●了解ES6的函数式编程特性,例如扩展运算符和Generator

    javascript变量和函数

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

    javascript函数大全

    函数是ECMAScript的核心特性之一,允许开发者组织和封装代码,提高代码的复用性和可维护性。以下是一些关于JavaScript函数的关键知识点: 1. **定义函数**:函数通过`function`关键字定义,后面跟着函数名和一组...

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

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

    Javascript 函数快速查询手册

    Javascript 函 数 快 速 查 询 手 册 .

    QT和网页中的JavaScript函数进行相互调用的实现

    - 这里的回调函数用于处理JavaScript函数的异步返回结果,如果需要同步获取结果,可以使用`QWebEngineScript`来注册一个全局JavaScript对象,然后通过该对象调用JavaScript函数。 2. **JavaScript调用QT函数**: ...

    javascript 的函数的使用

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

    javascript函数及其用法

    12. **类型转换**:JavaScript有一些内置函数用于类型转换,如`Number(value)`将值转换为数字,`String(value)`将值转换为字符串,`Boolean(value)`转换为布尔值。 13. **错误处理**:`try...catch`结构用于处理...

    JS 函数式编程指南 PDF

    在本篇知识分享中,我们将聚焦于函数式编程这一范式,并以JavaScript语言作为教学和实践的媒介。首先,我们需要理解函数式编程的概念及其重要性。函数式编程是一种编程范式,它强调使用函数来表达计算逻辑,其中函数...

    第4章 JavaScript中的函数

    第4章 JavaScript中的函数

    javascript思维导图和函数基础

    javascript思维导图,javascript变量 javascript运算符 javascript数组 ...javascript字符串函数 javascript函数基础 javascript基础DOM操 文档对象模型DO, javascript正则表达式,让大家一目了然。

Global site tag (gtag.js) - Google Analytics