String對像的方法屬性

來源:互聯網
上載者:User

String對像的方法屬性
String(字串對象)
我不是高手阿,我只是想把這段寫下來讓大家看看,真的字串對象真的很有用的.嘿,希望大家一起分享阿..
以下是對教程的段章取義,嘿嘿。
字串對象是對字元型資料的封裝,使用它可以對字元型資料進行管理。
但字串對象的所有屬性和方法幾乎都可以直接用於字串,因此,除非特殊需要,在一般情況下建議使用字串代替字串對象。
(字串對象裡除了concat,fromCharCode,slice和substr方法外,其他方法都可以直接用於字串。)

把字串和字串對象的執行個體區分開來是很重要的,在下面的代碼中,一個是建立了一個字串a,一個是建立了字串對象a2:
a="hello"//此為字串類型,為string類型
a1=new String("hello")//此為字串物件類型,為object類型
建立字串對象要使用建構函式,文法是:
new String(value)
//其實我也不知道建構函式是什麼,我也只是在建立新對象的時候前面用new 再加上要建立的類型string、Object Color,唉,我英語很差,所以我大部分用法都是比葫蘆畫瓢,有的我也不知道是什麼。

myname=new String("flasher")
這就算建立了一個新的字串對象myname,它的初始值為"flasher"

字串對象的屬性只有一個,就是length,用於測定字串的長度,文法格式如下。就以剛才建立的新對象為例

myname.length

例如:
myname=new String("flasher")
trace(myname.length)
結果為:7

字串對象的方法表:

charAt 返回字串指定位置的字元
charCodeAt 返回字串中指定位置字元的代碼
concat 連接字串
fromCharCode 用指這下代碼的字元組成字串
indexOf 尋找並返回子串在父串中第一次出現的位置值
lastIndexOf 尋找並返回子串在父串中最後一次出現的位置值
slice 取字串的子串
split 分割字串並存入數組中
substr 取字串的子串,與slice功能相似,但參數指定方法不同
subString 取字串的子串
toLowerCase 把字串中的大寫字母轉換為小寫字母
toUpperCase 把字串中的小寫字母轉換成大寫字母

方法具體用法:

1.charAt
文法為mystring.charAt(index)
參數index為字串在mystring中的位置值。
例:
a=new String("ABCDEFG")
trace(a.charAt(1))
運行結果為B,字串對象和數組對象一樣,第一個字元的位置為0最後一個字元的位置為a.length-1
如果不好理解,可以這樣,把a=new string("ABCDEFG")看成這樣
比較一個
a=new String("ABCDEFG")
a=new String("0123456"),
這是對比的,上面是對符串對象內的內容,現面的是對比上面對象裡每個字元所在的位置.他們是由零開始記錄,所以
a=new String("ABCDEFG")的第一項是b,而並非a,因為他們是從零開始,所以他還有一個零項。0項為a,而最後一項的位置值責是string.length-1
比如:a=new String("ABCDEFG")的length為7.但他們是從零開始記錄的,但他們的length(長度)就是按裡面所放的內容計算,這個例子裡有七個字母,所以他們長度length就是7,但他的最後一個字元的位置值責是6因為他們是0123456這樣計算的,所以最後一項位置值是6,所以他的位置值也可以寫成length-1.

2、charCodeAt
此方法返回字串中位置值為index的字元的代碼,文法格式是:
mystring.charCodeAt(index)
返回的是ascII碼,而不是字元。
例如:
mystring=new String("ABCDEFG")
trace(mystring.charCodeAt(1))
結果為66,這是字元B的ascii碼值.

此方法我用的不多,我個人認為很少用到,所以這裡說的也模糊簡單一些。

3、concat

concat方法把參數中指定的值合并成一個新的字串,文法格式如下:
mystring.concat(value1,value2,.....)
例:
mystring=new String("abcdefg")
newstr=mystring.concat(1,2,3)
trace(newstr)
結果為:abcdefg123,這是在他原有的內容後面再加上你所要加的量
注意的是,這隻能用在新的一個字串上,必須得用一個新變數來將原來的字串值賦過來,比如:
mystring=new String("abcdefg")
mystring.concat(1,2,3)
trace(mystring)
這個就不會看到效果,必須得用一個新的變數來建立才能得到。

4、fromCharCode

方法用參數中指定的代碼的對應字元組成新的字串並返回該字串的文法格式如下:str=String.fromcharCode(99,100,101)
這個方法好像和charCodeAt相對應的,個人感覺用處不太明顯,可能是現在沒用上吧,所以這裡就不再明說.

5、indexOf
此方法可以尋找子串在父串中第一次出現的位置,並返回該位置值。文法如下。
mystring.indexOf(substring,[startIndex])
參數substring是要尋找的子串,可以是整數或字串(是整數時也當作字串看待)參數startIndex是可選的,為一個整數,用於指定開始尋找子串的位置,即從父串的第幾個字元開始尋找。如果找到子串,則返回子串在主串中的位置值:如果找不到,則返回-1,例如:
str="abc 123 abc"
a=str.indexOf("abc")
b=str.indexOf(26)
c=str.indexOf("abc",3);
trace(a)
trace(b)
trace(c)
結果為:0,-1,8
第一個沒有給定第二個參數即startIndex,所以他就會從第0個字元查起,abc在第0個字元時就出現了,所以,他所返回的就是從查到他的第一個字母的位置值算起,所以就等於0
第二個則是尋找一個數字26,也沒給定第二個參數,所以他也是從第0個字元查起,但裡面沒有26這個數字,所以找不到,就返回-1

第三個兩個參數都給定了,第二個參數給的是3,所以他就會查abc這個字元,從第它的第三個位置值開始查起,雖然它在第一個字元就已經有了abc,但這裡給定的是從第三個字元位開始查,所以他就忽略了以第三個字元以前的所有字元。這時在第8個字元位出現了abc這個字元,所以它就返回在從第三個位置值以後所查到的abc所在的位置值,注意。這裡一個空格也算一個位置值。

6、lastIndexOf
此方法和indexOf的方法正好相反,indexOf是查他出現的第一次出現的位置值,而lastIndexOf則是尋找父串中尋找子串時掃描的結束位置。如果找到了子串,返回子串最後一次出現的位置值,如果沒找到,則返回-1

列:
str="abc 123 abc"
a=str.lastIndexOf("abc")
這裡如果不給最後的參數的話,則返回12,而如果換成
反正就這樣理解吧,indexOf()就是從字元從前往後數,而lastIndexOf()就是從後往前數。這樣理解吧,反正我是這樣想的.

以前看到有論友問到怎麼檢查自己做的登陸介面中輸入的使用者名稱或密碼有非法字元,用這個indexOf或lastIndexOf,正好可以解決做登陸介面所要檢查非法字元的問題,以下是一個例子,裡面有bug,但重要的是這個例子為為解釋舉出怎樣檢查非法字元,而非真正的登陸介面,再者,我也怕指令碼寫多了別人看了會暈,別說別人了,我看了都會暈,呵。你可以試著在裡面輸入我所設的非法字元看看效果.

7、slice
此方法是提取父串中的子串,兩個參數
mystring.slice(start,[end])
start為開始提取的位置,end是可選的,為結束的位置
例:
str="1234567890"
a=str.slice(3,6)
b=str.slice(3)
c=str.slice(-8,6)
d=str.slice(-5,3)
trace一個看看結果。分別為
456 4567890 3456 " "
第一個a的開始點為3,所以就是從4開始提取,到第6個長度結束,也就是6。但結束點不包括在所提取的範圍內,也就是結束點是6對應的字元應該是7,但結果卻是6,因為結束點所在的字元不在提取的範圍內.

8、split
此方法按定界符把字串對象分割,並把分害蟲得到的子字串存入一個數組中,文法格式如下:
mystring.split("delimiter",[limit])
參數delimiter指定界符,如"123,456,7898"中的逗句就是他們當中的定界符
參數limit指定要放入數組中的項目數,此參數為可選的。
例:
mystring=new String("123,456,789")
myarray=mystring.split(",",2)
trace(myarray)得到的結果是123,456,這是按他們的定界符分割的,後面的參數為2,所以這裡只把分割出來的前兩個項目放到數組中,而忽略後面的789這第三個項目。

但如果不指定定界型,只是打了一個""那麼,他就會把每一個字元都分割開來再放到數組中,例:

str=new String("12345")
myarray=str.split("")
trace(myarray)
得到的結果就是1,2,3,4,5

9、substr
此方法從父子符串中返回子串。文法格式為
mystring.substr(start,[length])
參數start指定指定回的子串在父串中的起始位置值,如果它是一個負數,就從字串的末尾倒數,最後一個字元為-1參數length指定子串的長度,即包含的字元數。如果沒有指定length,返回的子串包含從start開始到字元末尾的所有字元。
例:
str="1234567890"
a=str.substr(3,6)
b=str.substr(3)
c=str.substr(-8,6)
trace(a)
trace(b)
trace(c)
得到的結果為:a=456789 b=4567890 c=345678
a的起始點為3,即數字4開始提取,後面的參數為6,也就是說,從難從4開始提取6個字元,也就是456789,
b只給了起始點,沒給結束點,所以他就會提取起始點以後的所有字元,即4567890
c起始點給了一個-8,所以應該從後往前數,最後一個字元為-1,往前查,-8為3,所以起始點就是3,而結束點也是6,所以就從3往後查6個字元即可。

可能我說的會誤導大家,書上其實不是這麼定的,最後的不是什麼結束點,而是length,提取的東西所包括的數量,數量是6就從起始點往後查6個字元,如果不夠,就忽略。

10、substring
此方法從字串中返回子字串,格式如下:

mystring.subing(from,to)

參數from指定子串在父串中的起始位置值,該值的有效範圍是0到mystring,length-1。如果from是一個負值,則使用0,參數to指定子串在父串中的結束位置,該值應該是結束字元的位置值+1。如果此參數沒有,則使用string.length,取起始字元開始到字串末尾的全部字元;如果此參數是一個負值,則使用0,如果參數to和from相等,則返回空串,如果from大於to,則該方法會先交換from和to的值再取串,
例:

str="1234567890"
a=str.substring(3,5)
b=str.substring(5)
c=str.substring(8,1)

trace(a)
trace(b)
trace(c)
trace(a)
結果為:a=45,b=67890 ,c=2345678
a開始點為3即為數字4開始,結束點為5即數字6,但此參數結束點也不在被提取的範圍內,所以就是5所以結果就為45
b開始點為5沒結束點,所以就提取從5即數字6開始往後的所有項。
c開始點為8即為數字9,結束點為1即數字2,這時開始點比結束點大,所以他就是交換兩個的項,此時就變成了
c=str.substring(1,8)
再從1也就是數字2開始提取,到8也就是數字9結束。但結束點並不在被提取的範圍內,所以就應該是8所以就等於
2345678

11、toLowerCase
此方法把字串對象mystring所有大寫字母轉換為小寫並返迴轉換後的字串,但並不改變原串。

mystring.toLowerCase()
例:
str=new String("ABCDEFG")
a=str.toLowerCase()
trace(a)
結果就是:abcdefg

12、toUpperCase
此方法把字元中對象的string所有小寫字母轉成大寫,並返迴轉換後的字串,但並不改變原串。格式如下:

str=new String("abcdefg")
a=str.toUpperCase()
trace(a)
就等於:ABCDEFG
效果和toLowerCase效果正好相反

執行個體:

字串對象的有些方法確實不錯,比如說以下的一個例子,就是用到了字串對象某些特有的方法和字串方法的結合運用做出來的效果。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.