javascript中indexOf技術詳解

來源:互聯網
上載者:User

javascript中indexOf技術詳解

   indexOf()函數用於尋找子字串在當前字串中第一次出現的位置。該函數屬於String對象,所有主流瀏覽器均支援該函數。下面我們就來詳細探討下javascript的index0f()函數

  JavaScript提供了幾種技術,來在字串中搜尋一個單詞、數字或其他的一串字元。搜尋可能很方便,例如,如果你想要知道訪問者使用哪種Web瀏覽器來瀏覽你的網站。每個Web瀏覽器在一個字串中標識關於自己的資訊,該字串包含了很多不同的統計資料。可以通過在一個Web頁面中添加下面這段JavaScript,並且在Web瀏覽器預覽,從而看到這個字串:

  ?

1

2

3

<script>

alert(navigator.userAgent);

</script>

  Navigator是一個Web瀏覽器對象,並且userAgent是navigator對象的一個屬性。userAgent屬性包含了長長的一串資訊,例如,對於運行在Windows XP上的Internet Explorer 7,其userAgent屬性是:Mozilla/4.0(compatible;MSIE 7.0;Windows NT 5.1)。因此,如果你想看看Web瀏覽器是IE 7的情況,你可以在userAgent字串中只搜尋“MSIE 7”。搜尋字串的方法之一是indexOf()方法。在字串之後添加一個句點,然後是indexOf(),並且提供你要尋找的字串。基本的結構如下所示:

  string.indexOf('string to look for')

  indexOf()方法返回一個數字:如果沒有找到搜尋字串,該方法返回-1。因此,如果你想要檢查Internet Explorer,可以這樣做:

  ?

1

2

3

4

var browser=navigator.userAgent;//this is a string

if(browser.indexOf('MSIE')!=-1){

//this is Internet Explorer

}

  在這個例子中,如果indexOf()沒有在userAgent字串中找到'MSIE',它將返回-1,因此,條件測試查看結果是否不等於(!=)-1。當indexOf()方法確實找到了要搜尋的字串,它返回一個數字,它等於要尋找的字串的開始位置。如下的樣本使得事情更加清晰一些:

  ?

1

2

var quote='To be, or not to be.'

var searchPosition=quote.indexOf('To be');//returns 0

  在這裡,indexOf()在字串'To be, or not to be.'中搜尋'To be'的位置。較大的字串以'To be'開始,因此,indexOf()在第一個位置就找到了'To be'。但是,按照編程的方式,第一個位置認為是0,第二個字母(o)在位置1,並且第三個字母(在這個例子中是一個空格)是2。

  indexOf()方法從字串的開頭開始搜尋。你也可以使用lastIndexOf()方法,從字串的末尾開始搜尋。例如,在莎士比亞的名言中,單詞'be'出現在兩個位置,因此,可以使用indexOf()找到第一個'be',並使用lastIndexOf()找到最後一個'be':

  ?

1

2

3

var quote="To be, or not to be."

var firstPosition=quote.indexOf('be');//returns 3

var lastPosition=quote.lastIndexOf('be');//returns 17

  在這兩個例子中,如果'be'不存在於字串中的任何位置,結果將會是-1;如果只有一個搜尋字串的執行個體,indexO f()和lastIndexOf()將會返回相同的值,也就是搜尋字串在較大的字串中開始的位置。

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

        注< >:更多精彩教程請關注幫客之家編程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.