首頁 > web前端 > js教程 > javascript中indexOf技術詳解_javascript技巧

javascript中indexOf技術詳解_javascript技巧

WBOY
發布: 2016-05-16 16:00:28
原創
1096 人瀏覽過

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

<script>
alert(navigator.userAgent);
</script>
登入後複製

Navigator是一個網頁瀏覽器對象,且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,可以這樣做:

var browser=navigator.userAgent;//this is a string
if(browser.indexOf('MSIE')!=-1){
//this is Internet Explorer
}
登入後複製

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

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':

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()將會傳回相同的值,也就是搜尋字串在較大的字串中開始的位置。

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板