JavaScript去除空格的幾種方法

方法一: 
個人認爲最好的方法.採用的是正則表達式,這是最核心的原理. 
其次.這個方法使用了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> 
下面來我們來看看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)); 

方法三: 
這個方法將函數寫在一起,通過傳遞參數不同而達到不同的實現效果 

<HEAD> 
<TITLE>JavaScript Trim Function</TITLE> 
<SCRIPT LANGUAGE=javascript> 
<!-- 
//**************************************************************** 
// Description: sInputString 爲輸入字符串,iType爲類型,分別爲 
// 0 - 去除前後空格; 1 - 去前導空格; 2 - 去尾部空格 
//**************************************************************** 
function cTrim(sInputString,iType) 

var sTmpStr = ' ' 
var i = -1 

if(iType == 0 || iType == 1) 

while(sTmpStr == ' ') 

++i 
sTmpStr = sInputString.substr(i,1) 

sInputString = sInputString.substring(i) 

if(iType == 0 || iType == 2) 

sTmpStr = ' ' 
i = sInputString.length 
while(sTmpStr == ' ') 

--i 
sTmpStr = sInputString.substr(i,1) 

sInputString = sInputString.substring(0,i+1) 

return sInputString 

//--> 
</SCRIPT> 
</HEAD> 

<BODY> 
JavaScript中的字符串去除空格函數(自定義):

<SCRIPT LANGUAGE=javascript> 
<!-- 
var sR0 = cTrim(" T e s t ",0) 
var sR1 = cTrim(" T e s t ",1) 
var sR2 = cTrim(" T e s t ",2) 
document.write("R0 = '" + sR0 + "'
") 
document.write("R1 = '" + sR1 + "'
") 
document.write("R2 = '" + sR2 + "'
") 
//--> 
</SCRIPT> 
</BODY> 
</HTML>

4、這種方法也不錯
複製代碼 代碼如下:
//lTrim()去掉字符串左邊的空格  
function lTrim(str)  
{  
  if (str.charAt(0) == " ")  
  {  
    //如果字串左邊第一個字符爲空格  
    str = str.slice(1);//將空格從字串中去掉  
    //這一句也可改成 str = str.substring(1, str.length);  
    str = lTrim(str);    //遞歸調用  
  }  
  return str;  
}  
//rTrim()去掉字串右邊的空格  
function rTrim(str)  
{  
  var iLength;  
  iLength = str.length;  
  if (str.charAt(iLength - 1) == " ")  
  {  
    //如果字串右邊第一個字符爲空格  
    str = str.slice(0, iLength - 1);//將空格從字串中去掉  
    //這一句也可改成 str = str.substring(0, iLength - 1);  
    str = rTrim(str);    //遞歸調用  
  }  
  return str;  
}  
//trim()去掉字串兩邊的空格  
function trim(str)  
{  
  return lTrim(rTrim(str));  
}  

 

5、

複製代碼 代碼如下:
function Trim(sText) 

    return sText.replace(new RegExp("(^[\\s]*)|([\\s]*$)", "g"), ""); 
}

詳細出處參考:http://www.jb51.net/article/1354.htm

感謝原作者!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章