- 相關(guān)推薦
如何在Javascript中為String對象添加trim,ltrim,rtrim方法
如何在Javascript中為String對象添加trim,ltrim,rtrim方法呢?下面是小編給大家提供的實(shí)現(xiàn)代碼,大家可以參考閱讀,更多詳情請關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)。
利用Javascript中每個(gè)對象(Object)的prototype屬性我們可以為Javascript中的內(nèi)置對象添加我們自己的方法和屬性。
javascript 中沒有 trim 函數(shù),以下我們就用這個(gè)屬性來為String對象添加三個(gè)方法:Trim,LTrim,RTrim (作用和VbScript中的同名函數(shù)一樣) ,其中使用了正則表達(dá)式。
<script lang ge= "JavaScript">
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, "");
}
document.write( " hehe ".Trim()+"hello"); //輸出的結(jié)果是 herehello
</script>
不采用正則表達(dá)式的另一種方法,有人給出的評論是:
我只想說,搞出這個(gè)的人已經(jīng)不是用牛來形容,已是神一樣的級別。它先是把可能的空白符全部列出來,在第一次遍歷中砍掉前面的空白,第二次砍掉后面的空白。全過程只用了indexOf與s string這個(gè)專門為處理字符串而生的原生方法,沒有使用到正則。速度快得驚人,估計(jì)直逼上內(nèi)部的二進(jìn)制實(shí)現(xiàn),并且在IE與火狐(其他瀏覽器當(dāng)然也毫無疑問)都有良好的表現(xiàn)。速度都是零毫秒級別的。
String.prototype.trim = function(){
var str = this,
whitespace = ' \n\r\t\f\x0b\xa0\?\?\?\?\?\?\?\?\?\?\?\?\?\?\ ';
for (var i = 0,len = str.length; i < len; i++) {
if (whitespace.indexOf(str.charAt(i)) == -1) { //如果碰到非空格的字符,則本次循環(huán)結(jié)束
str = str.s string(i); //取得的是左邊所有空格之后的字符串內(nèi)容
break;
}
}
for (i = str.length - 1; i >= 0; i--) {
if (whitespace.indexOf(str.charAt(i)) == -1) {
str = str.s string(0, i + 1); //取得的是右邊所有空格之前的字符串內(nèi)容。注意,這里是 i+1
break;
}
}
return whitespace.indexOf(str.charAt(0)) == -1 ? str : '';
}
indexOf 和 substring 兩個(gè)函數(shù)用途及語法說明:
★ indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。
語法:stringObject.indexOf(searchvalue,fromindex)
參數(shù)描述:
searchvalue 必需。規(guī)定需檢索的字符串值。
fromindex 可選的整數(shù)參數(shù)。規(guī)定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數(shù),則將從字符串的首字符開始檢索。
注釋:indexOf() 方法對大小寫敏感!
注釋:如果要檢索的字符串值沒有出現(xiàn),則該方法返回 -1。
★ substring() 方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符。
語法:stringObject.substring(start,stop)
參數(shù)描述 :
start 必需。一個(gè)非負(fù)的整數(shù),規(guī)定要提取的子串的第一個(gè)字符在 stringObject 中的位置。
stop 可選。一個(gè)非負(fù)的整數(shù),比要提取的子串的最后一個(gè)字符在 stringObject 中的位置多 1。如果省略該參數(shù),那么返回的子串會一直到字符串的結(jié)尾。
【如何在Javascript中為String對象添加trim,ltrim,】相關(guān)文章:
如何在Word文檔中添加批注05-07
如何在Word中添加空白頁05-31
如何在Excel工作表中添加圖形02-10
Java中String類的方法07-24
Java中的String源碼分析05-17
如何在word2007中添加和刪除水印12-10