`

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函数的解释

    javascript函数的解释,解释了具体函数的功能,一、函数JavaScript函数集合 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document-&gt;html-&gt;(head,body) 4.一个浏览器窗口中的DOM顺序是:...

    Javascript string 扩展库代码

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

    string.js:对 javascript String 对象的有用扩展

    对 javascript String 对象的有用扩展。 这直接扩展了String.prototype因此您可以像访问本机函数一样访问所有这些。 字符串大写 myStr.capitalise(); 将每个单词的第一个字母大写。 字符串.下划线 myStr....

    学习DWR JavaScript函数整理

    /*********************** ** 创建人:奚强 ** 日 期:2002-7-18 ** 修改人: ** 日 期: ** 描 述:公用函数 ...// 本函数用于对sString字符串进行空格截除 // --------------------------------------------...

    StringJS:Swift中JavaScript字符串API

    一个很小的Swift扩展库,实现了我们惯用JavaScript String函数。 您可以在阅读有关JavaScript String函数的文档。 可用功能 length -&gt; Int (实例变量) charAt(index: Int) -&gt; String? chatCodeAt(index: Int) -...

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

    主要介绍了一些JavaScript常用字符串与数组扩展函数,整理了一些简单而使用率又高的操作String与Array的函数,需要的朋友可以参考下

    JavaScript权威指南(第6版)

    第11章 JavaScript的子集和扩展 11.1 JavaScript的子集 11.2 常量和局部变量 11.3 解构赋值 11.4 迭代 11.5 函数简写 11.6 多catch 从句 11.7 E4X: ECMAScript for XML 第12章 服务器端JavaScript 12.1 用Rhino脚本...

    javascript Array数组对象的扩展函数代码

    我们经常给 String,Function,Array 的原型加上自定义的扩展函数,比如去除字符串空格,数组排序等

    JavaScript权威指南(第6版)中文版pdf+源代码

     第11章 JavaScript的子集和扩展267  11.1 JavaScript的子集268  11.2 常量和局部变量271  11.3 解构赋值274  11.4 迭代276  11.5 函数简写285  11.6 多catch 从句285  11.7 E4X: ECMAScript for XML286  ...

    JavaScript详解(第2版)

     13.7.4 将事件传递给JavaScript函数   13.7.5 鼠标坐标   13.7.6 按键事件   13.8 处理事件的脚本模型   13.9 应知应会   练习   第14章 CSS与JavaScript   14.1 什么是CSS   14.2 什么是...

    JavaScript权威指南(第6版)(附源码)

    第11章 JavaScript的子集和扩展 11.1 JavaScript的子集 11.2 常量和局部变量 11.3 解构赋值 11.4 迭代 11.5 函数简写 11.6 多catch 从句 11.7 E4X: ECMAScript for XML 第12章 服务器端JavaScript 12.1 用Rhino脚本...

    JavaScript权威指南(第6版)(中文版)

    第11章 JavaScript的子集和扩展 11.1 JavaScript的子集 11.2 常量和局部变量 11.3 解构赋值 11.4 迭代 11.5 函数简写 11.6 多catch 从句 11.7 E4X: ECMAScript for XML 第12章 服务器端JavaScript 12.1 用Rhino脚本...

    JavaScript权威指南(第6版)中文文字版

    第11章 javascript的子集和扩展 267 11.1 javascript的子集 268 11.2 常量和局部变量 271 11.3 解构赋值 274 11.4 迭代 276 11.5 函数简写 285 11.6 多catch 从句 285 11.7 e4x: ecmascript for xml 286 第12章 ...

    JavaScript 权威指南(第四版).pdf

     第11章 JavaScript的子集和扩展267  11.1 JavaScript的子集268  11.2 常量和局部变量271  11.3 解构赋值274  11.4 迭代276  11.5 函数简写285  11.6 多catch 从句285  11.7 E4X: ECMAScript for XML286  ...

    源文件程序天下JAVASCRIPT实例自学手册

    源文件程序天下JAVASCRIPT实例自学手册 第1章 JavaScript语言概述 1.1 JavaScript是什么 1.1.1 JavaScript简史 1.1.2 JavaScript有何特点 1.2 JavaScript能做什么 1.2.1 表单数据合法性验证 1.2.2 页面特效 1.2.3 ...

    让firefox支持IE的一些方法的javascript扩展函数代码

    这一段使得FireFox也支持IE的innerText方法 代码如下: ...isIE()){ //firefox innerText define HTMLElement.prototype.__defineGetter__( “innerText”, function(){ var anyString = “”; var childS = this.chil

Global site tag (gtag.js) - Google Analytics