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