[原文]http://blog.csdn.net/cyanapple_wen/article/details/5420949
个人认为最好的方法.采用的是正则表达式,这是最核心的原理.
其次.这个方法使用了JavaScript 的prototype 属性
其实你不使用这个属性一样可以用函数实现.但这样做后用起来比较方便.
下面就来看看这个属性是怎么来用的.
返回对象类型原型的引用。
objectName.prototype
objectName 参数是对象的名称。
说明
用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。
例如,要为 Array 对象添加返回数组中最大元素值的方法。要完成这一点,声明该函数,将它加入 Array.prototype,并使用它。
- function array_max( )
- {
- var i, max = this[0];
- for (i = 1; i < this.length; i++)
- {
- if (max < this[i])
- max = this[i];
- }
- return max;
- }
- Array.prototype.max = array_max;
- var x = new Array(1, 2, 3, 4, 5, 6);
- var y = x.max( );
该代码执行后,y 保存数组 x 中的最大值,或说 6。
所有 JScript 内部对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。
本语言参考中每个内部对象的方法和属性列表指出哪些是对象原型的部分,哪些不是.
下面是代码原文
程序代码
- <SCRIPT LANGUAGE="JavaScript">
- //去两边空格
- String.prototype.Trim = function()
- {
- return this.replace(/(^\s*)|(\s*$)/g, "");
- }
- //去左空格
- String.prototype.LTrim = function()
- {
- return this.replace(/(^\s*)/g, "");
- }
- //去右空格
- String.prototype.RTrim = function()
- {
- return this.replace(/(\s*$)/g, "");
- }
- </SCRIPT>
下面来我们来看看Javascript脚本中"\s表示什么"
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
请紧记是小写的s
\S匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
global 属性
返回 Boolean 值,指出正则表达式使用的global 标志 (g) 的状态。默认值为 false。只读。