JavaScript去除空格的三種方法(正則/傳參函數(shù)/trim)
更新時間:2013年02月06日 12:11:05 作者:
個人認(rèn)為去除空格最好的方法.采用的是正則表達(dá)式,這是最核心的原理,同時呢,還是有其他方法可以辦到的,接下來將介紹一下三種方法(trim)空格,感興趣的朋友可以了解下,或許對你有幫助呢
方法一:
個人認(rèn)為最好的方法.采用的是正則表達(dá)式,這是最核心的原理.
其次.這個方法使用了JavaScript 的prototype 屬性
其實你不使用這個屬性一樣可以用函數(shù)實現(xiàn).但這樣做后用起來比較方便.
下面就來看看這個屬性是怎么來用的.
返回對象類型原型的引用。
objectName.prototype
objectName 參數(shù)是對象的名稱。
說明
用 prototype 屬性提供對象的類的一組基本功能。對象的新實例“繼承”賦予該對象原型的操作。
例如,要為 Array 對象添加返回數(shù)組中最大元素值的方法。要完成這一點,聲明該函數(shù),將它加入 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( );
該代碼執(zhí)行后,y 保存數(shù)組 x 中的最大值,或說 6。
所有 JScript 內(nèi)部對象都有只讀的 prototype 屬性。可以象該例中那樣為原型添加功能,但該對象不能被賦予不同的原型。然而,用戶定義的對象可以被賦給新的原型。
本語言參考中每個內(nèi)部對象的方法和屬性列表指出哪些是對象原型的部分,哪些不是。
下面是代碼原文
程序代碼
<SCRIPT LANGUAGE="JavaScript">
<!--
//出處:網(wǎng)上搜集
//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去空格函數(shù)
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));
}
方法三:
這個方法將函數(shù)寫在一起,通過傳遞參數(shù)不同而達(dá)到不同的實現(xiàn)效果
<HTML>
<HEAD>
<TITLE>JavaScript Trim Function</TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
//****************************************************************
// Description: sInputString 為輸入字符串,iType為類型,分別為
// 0 - 去除前后空格; 1 - 去前導(dǎo)空格; 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中的字符串去除空格函數(shù)(自定義):<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>
個人認(rèn)為最好的方法.采用的是正則表達(dá)式,這是最核心的原理.
其次.這個方法使用了JavaScript 的prototype 屬性
其實你不使用這個屬性一樣可以用函數(shù)實現(xiàn).但這樣做后用起來比較方便.
下面就來看看這個屬性是怎么來用的.
返回對象類型原型的引用。
objectName.prototype
objectName 參數(shù)是對象的名稱。
說明
用 prototype 屬性提供對象的類的一組基本功能。對象的新實例“繼承”賦予該對象原型的操作。
例如,要為 Array 對象添加返回數(shù)組中最大元素值的方法。要完成這一點,聲明該函數(shù),將它加入 Array.prototype,并使用它。
復(fù)制代碼 代碼如下:
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( );
該代碼執(zhí)行后,y 保存數(shù)組 x 中的最大值,或說 6。
所有 JScript 內(nèi)部對象都有只讀的 prototype 屬性。可以象該例中那樣為原型添加功能,但該對象不能被賦予不同的原型。然而,用戶定義的對象可以被賦給新的原型。
本語言參考中每個內(nèi)部對象的方法和屬性列表指出哪些是對象原型的部分,哪些不是。
下面是代碼原文
程序代碼
復(fù)制代碼 代碼如下:
<SCRIPT LANGUAGE="JavaScript">
<!--
//出處:網(wǎng)上搜集
//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
方法二:
由于使用方法簡單,所以這里就不舉例子了.
復(fù)制代碼 代碼如下:
//javascript去空格函數(shù)
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));
}
方法三:
這個方法將函數(shù)寫在一起,通過傳遞參數(shù)不同而達(dá)到不同的實現(xiàn)效果
復(fù)制代碼 代碼如下:
<HTML>
<HEAD>
<TITLE>JavaScript Trim Function</TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
//****************************************************************
// Description: sInputString 為輸入字符串,iType為類型,分別為
// 0 - 去除前后空格; 1 - 去前導(dǎo)空格; 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中的字符串去除空格函數(shù)(自定義):<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>
您可能感興趣的文章:
- javascript將字符串中的多個空格替換為一個空格的正則實例
- JS使用正則實現(xiàn)去掉字符串左右空格的方法
- JS去除空格和換行的正則表達(dá)式(推薦)
- javascript使用正則表達(dá)式實現(xiàn)去掉空格之后的字符
- js去掉首位空格的正則表達(dá)式
- 獲取服務(wù)器傳來的數(shù)據(jù) 用JS去空格的正則表達(dá)式
- js trim函數(shù) 去空格函數(shù)與正則集錦
- JavaScript 去前后全腳半腳空格的正則
- 比較簡單實用的使用正則三種版本的js去空格處理方法
- Javascript 5種方法實現(xiàn)過濾刪除前后所有空格
- javaScript 刪除字符串空格多種方法小結(jié)
- JS正則替換去空格的方法
相關(guān)文章
onclick與listeners的執(zhí)行先后問題詳細(xì)解剖
javascript中onclick與listeners的執(zhí)行先后問題一直都是大家所疑惑的地方,接下來將為大家解決此疑惑,感興趣的朋友可以了解下哦2013-01-01利用原生js實現(xiàn)html5小游戲之打磚塊(附源碼)
這篇文章主要給大家介紹了關(guān)于利用原生js實現(xiàn)html5小游戲之打磚塊的相關(guān)資料,這是最近工作遇到的一個小需求,文中通過示例代碼介紹的非常詳細(xì),并分享了完整的源碼供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01js數(shù)組的基本用法及數(shù)組根據(jù)下標(biāo)(數(shù)值或字符)移除元素
js數(shù)組的用法包括創(chuàng)建、取值賦值、添加以及根據(jù)下標(biāo)(數(shù)值或字符)移除元素等等,在本文將為大家詳細(xì)介紹下,感興趣的朋友可以參考下2013-10-10JavaScript中String和StringBuffer的速度之爭
很多Javascript書籍中都是類比于Java說String在頻繁的和大量的字符串連接方面的效率是不如StringBuffer的。2010-04-04