JavaScript去除空格的三種方法

來源:互聯網
上載者:User
javascript

方法一:最好的方法.採用的是Regex,這是最核心的原理.
其次.這個方法使用了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">
<!--
//出處:網上搜集
// 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>

使用方法見以下代碼

HTML代碼
-----------------------------------------------------
<SCRIPT LANGUAGE="JavaScript">
<!--
//出處:網上搜集
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>
<input type="text" value="   前後都是空格    " id="space">
<input type="button" value="去前後空格" /document.getElementById('space').value.Trim();document.getElementById('space').select();"">
<input type="button" value="去前空格" /document.getElementById('space').value.LTrim();document.getElementById('space').select();"">
<input type="button" value="去後空格" /document.getElementById('space').value.RTrim();document.getElementById('space').select();"">
<input type="button" value="還原" >
<a href="http://www.webjx.com" target="_blank">訪問webjx.com</a>
---------------------------------------------------
 
下面來我們來看看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>
<!--
//****************************************************************
// 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中的字串去除空格函數(自訂):<br/>
<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 + "'<br/>")
document.write("R1 = '" + sR1 + "'<br/>")
document.write("R2 = '" + sR2 + "'<br/>")
//-->
</SCRIPT>
</BODY>
</HTML>



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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