重溫js的幾個字符串函數

按:後來我又把vbs中幾個類似的函數也總結了一下《VBS(VB Scritp/ASP)幾個容易混淆的字符串函數

技術心得:
重溫js的幾個字符串函數

因爲工作需要,得處理一堆checkbox的值,經過處理之後是"101,113,69,",但是還得再進一步去掉最後一個","。這可以採用很多的辦法,我今天就想試試用js本身提供的幾個基本的函數來完成。有了想法,就開了一個臨時的文件測試了一下。下面是一個總結。

1、indexOf/lastIndexOf/length
前兩個是獲取一個字符串在另一個字符串(假設爲A和B)中的位置,前一個是從前數的第一次,後一個是從後數的第一次。
通常用來從測試B裏沒有有A,返回結果如果是-1那就是沒找到。
但是需要注意的是:
a)返回的結果是位置
b)這個位置是A所在的位置之前有幾個字符。例如:
A="5";
B="12345";
c = B.indexOf(A);
alert( c == 4 );//結果是true,也就是說這個時候“5”在“12345”中排第4
第三個length是字符串長度的屬性。放在這裏是我曾經有個誤解,就是前面例子中,在IE6中測試,c=4,B.length=5。在測試之前,我以爲用indexOf獲得最後一個字符的位置應該和length是一樣的。這是JS的特殊情況。無語了!

2、substr/substring
從一個字符串中截取一部分。MS一樣的,只是名字不一樣。(這是我原來的誤讀,substr是“從某處開始,一共截取XX個字符”,而substring是“從第X開始,一直截取到第Y個”

下面是微軟JScript語言參考給出的說明:

 

stringvar.substr(start [, length ])

 

還好,最後用這個函數達成了我的想法。
下面是具體的代碼。


if(a.substr(a.length-1)==",")
{
 a = a.substr(0,a.length-1)
}
 2010年6月24日 修

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章