JavaScript去除空格的三種方法 (trim)

來源:互聯網
上載者:User
方法一:個人認為最好的方法.採用的是Regex,這是最核心的原理.其次.這個方法使用了JavaScript 的prototype 屬性其實你不使用這個屬性一樣可以用函數實現.但這樣做後用起來比較方便.下面就來看看這個屬性是怎麼來用的. 返回物件類型原型的引用。objectName.prototypeobjectName 參數是對象的名稱。說明用 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>下面來我們來看看Js指令碼中"/s表示什麼"\s 匹配任何空白字元,包括空格、定位字元、換頁符等等。等價於 [ \f\n\r\t\v]。  請緊記是小寫s方法二:由於使用方法簡單,所以這裡就不舉例子了. //javascript去空格函數 function LTrim(str){ //去掉字串 的頭空格var i;for(i=0;i if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break;}str = str.substring(i,str.length);return str;}function RTrim(str){var i;for(i=str.length-1;i>=0;i--){if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break;}str = str.substring(0,i+1);return str;}function Trim(str){ return LTrim(RTrim(str)); }方法三:這個方法將函數寫在一起,通過傳遞參數不同而達到不同的實現效果 <HTML><HEAD><TITLE>JavaScript Trim Function</TITLE><SCRIPT LANGUAGE=javascript>   1:     2: <!--   3: //****************************************************************   4: // Description: sInputString 為輸入字串,iType為類型,分別為   5: // 0 - 去除前後空格; 1 - 去前置空格; 2 - 去尾部空格   6: //****************************************************************   7: function cTrim(sInputString,iType)   8: {   9: var sTmpStr = ' '  10: var i = -1  11:    12: if(iType == 0 || iType == 1)  13: {  14: while(sTmpStr == ' ')  15: {  16: ++i  17: sTmpStr = sInputString.substr(i,1)  18: }  19: sInputString = sInputString.substring(i)  20: }  21:    22: if(iType == 0 || iType == 2)  23: {  24: sTmpStr = ' '  25: i = sInputString.length  26: while(sTmpStr == ' ')  27: {  28: --i  29: sTmpStr = sInputString.substr(i,1)  30: }  31: sInputString = sInputString.substring(0,i+1)  32: }  33: return sInputString  34: }  35: //--></SCRIPT>   1:     2: </HEAD>   3:     4: <BODY>   5: JavaScript中的字串去除空格函數(自訂):<br>   6:     7: <SCRIPT LANGUAGE=javascript>   8: <!--   9: var sR0 = cTrim(" T e s t ",0)  10: var sR1 = cTrim(" T e s t ",1)  11: var sR2 = cTrim(" T e s t ",2)  12: document.write("R0 = '" + sR0 + "'<br>")  13: document.write("R1 = '" + sR1 + "'<br>")  14: document.write("R2 = '" + sR2 + "'<br>")  15: //--></SCRIPT> </BODY></HTML>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.