如何在Javascript中為String物件新增trim,ltrim,rtrim方法呢?下面是小編給大家提供的實現程式碼,大家可以參考閱讀,更多詳情請關注應屆畢業生考試網。
利用Javascript中每個物件(Object)的prototype屬性我們可以為Javascript中的內建物件新增我們自己的方法和屬性。
javascript 中沒有 trim 函式,以下我們就用這個屬性來為String物件新增三個方法:Trim,LTrim,RTrim (作用和VbScript中的同名函式一樣) ,其中使用了正則表示式。
<script lang ge= "JavaScript">
= function() {
return ace(/(^s*)|(s*$)/g, "");
}
m = function() {
return ace(/(^s*)/g, "");
}
m = function() {
return ace(/(s*$)/g, "");
}
e( " hehe "()+"hello"); //輸出的結果是 herehello
</script>
不採用正則表示式的另一種方法,有人給出的評論是:
我只想說,搞出這個的人已經不是用牛來形容,已是神一樣的級別。它先是把可能的空白符全部列出來,在第一次遍歷中砍掉前面的空白,第二次砍掉後面的空白。全過程只用了indexOf與s string這個專門為處理字串而生的原生方法,沒有使用到正則。速度快得驚人,估計直逼上內部的二進位制實現,並且在IE與火狐(其他瀏覽器當然也毫無疑問)都有良好的表現。速度都是零毫秒級別的。
= function(){
var str = this,
whitespace = ' nrtfx0bxa0?????????????? ';
for (var i = 0,len = th; i < len; i++) {
if (xOf(At(i)) == -1) { //如果碰到非空格的字元,則本次迴圈結束
str = str.s string(i); //取得的是左邊所有空格之後的字串內容
break;
}
}
for (i = th - 1; i >= 0; i--) {
if (xOf(At(i)) == -1) {
str = str.s string(0, i + 1); //取得的是右邊所有空格之前的字串內容。注意,這裡是 i+1
break;
}
}
return xOf(At(0)) == -1 ? str : '';
}
indexOf 和 substring 兩個函式用途及語法說明:
★ indexOf() 方法可返回某個指定的字串值在字串中首次出現的位置。
語法:xOf(searchvalue,fromindex)
引數描述:
searchvalue 必需。規定需檢索的字串值。
fromindex 可選的整數引數。規定在字串中開始檢索的位置。它的合法取值是 0 到 th - 1。如省略該引數,則將從字串的首字元開始檢索。
註釋:indexOf() 方法對大小寫敏感!
註釋:如果要檢索的字串值沒有出現,則該方法返回 -1。
★ substring() 方法用於提取字串中介於兩個指定下標之間的.字元。
語法:tring(start,stop)
引數描述 :
start 必需。一個非負的整數,規定要提取的子串的第一個字元在 stringObject 中的位置。
stop 可選。一個非負的整數,比要提取的子串的最後一個字元在 stringObject 中的位置多 1。如果省略該引數,那麼返回的子串會一直到字串的結尾。