個人認爲最好的方法採用的是正則表達式,這是最核心的原理.
其次.這個方法使用了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">
- <!--
- //出處:網上搜集
- //made by yaosansi 2005-12-02
- //For more visit http://www.yaosansi.com
- // trim() , lTrim() , rTrim()
- 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>
<SCRIPT LANGUAGE="JavaScript">
<!--
//出處:網上搜集
//made by yaosansi 2005-12-02
//For more visit http://www.yaosansi.com
// trim() , lTrim() , rTrim()
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>
下面來我們來看看Js腳本中"/s表示什麼"
/s 匹配任何空白字符,包括空格、製表符、換頁符等等。等價於 [ /f/n/r/t/v]。
請緊記是小寫的s