工作需要,暂时要告别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, "<");
strTemp = strTemp.replace(/>/g, ">");
strTemp = strTemp.replace(/\"/g, """);
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常用扩展方法
de.js是一个轻量级的javascript扩展函数库,通过扩展页面元素的方法和属性、和扩展javascript内置类型的方法来帮助web前端开发人员实现更便捷和高效的编程。以下是主要特点: 支持类似jquery的选择器,同时支持类似...
除了标准的字符串方法之外,还可以通过扩展 `String` 对象的方式来实现一些额外的功能。例如,去除字符串首尾的空白字符: ```javascript String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g...
在JavaScript中,`String.prototype.trim()` 方法是ECMAScript 5标准的一部分,可以非常方便地应用于任何字符串实例上。 2. **lTrim()**: 左侧trim函数,专门用于去除字符串左侧的空白字符。 3. **rTrim()**: 右侧...
因此,我们可以编写一个插件,通过扩展String.prototype来实现这个功能: ```javascript String.prototype.endsWith = function(suffix) { return this.slice(-suffix.length) === suffix; } ``` 这样一来,所有...
- **对象**:字面量表示法、构造函数、原型链、方法调用、对象扩展运算符。 - **数组**:数组方法如map、filter、reduce、find、findIndex等。 - **字符串**:字符串方法如concat、substring、indexOf、replace等。 ...
标题“javascript调用delphi中的函数”涉及到的技术领域是跨语言通信,具体是JavaScript与Delphi之间的交互。这种交互通常发生在Web应用程序与桌面应用程序的集成,或者在浏览器扩展和本地资源之间。以下是对这一...
Javascript原生的String处理函数显得很不够丰富,原生string函数://www.jb51.net/w3school/js/jsref_obj_string.htm问题1:是否有只是针对String类型的扩展库呢?有,不多,不全面.观点2: JQuery的强大在于DOM操作...
在实际的Web开发中,这些扩展的函数库能够极大地提升开发效率,使代码更加简洁和易于维护。不过需要注意的是,使用原型扩展要谨慎,因为如果多个脚本库都对同一个对象的原型进行了扩展,可能会导致冲突。因此在使用...
### JavaScript常用字符串与数组扩展函数小结 #### 引言 在现代Web开发中,JavaScript是一种必不可少的语言。作为一门功能强大的脚本语言,它提供了大量的内置对象和方法来处理各种数据类型,其中最常用的就是字符...
这篇博文“为JavaScript中的String添加一些常用方法”正是探讨了如何扩展String对象,添加自定义方法以增强其功能。 首先,我们可以看到一个名为`additionStringFunc.js`的文件,这很可能是博主为了实现这些额外...
此外,ES6及后续版本引入的许多新特性,如箭头函数、解构赋值、模板字符串等,也极大地扩展了JavaScript的功能。 这个“JavaScript 函数速查”资源可以帮助开发者快速定位所需函数,提高编程效率。在日常开发中,...
字符串对象则是通过`new String()`构造函数创建的: ```javascript var stringObject = new String("This is a string object"); ``` 字符串对象作为真正的对象实例,拥有自己的属性和方法。这意味着可以为其添加新...
### DWR JavaScript函数整理知识点详解 #### 一、概述 本文档主要收集并整理了一系列JavaScript函数,这些函数主要用于客户端表单验证以及数据合法性检查。通过这些函数,可以有效地提高前端开发效率,确保用户输入...
### JavaScript对象、原型、属性、构造函数、扩展、JSON #### JavaScript对象类型 JavaScript是一种广泛使用的脚本语言,尤其在Web开发中占据了重要的地位。它支持多种对象类型,包括内部对象、基于类的对象以及...