JavaScript提供了幾種技術,來在字符串中搜索一個單詞、數字或其他的一串字符。搜索可能很方便,例如,如果你想要知道訪問者使用哪種Web瀏覽器來瀏覽你的站點。每個Web瀏覽器在一個字符串中標識關于自己的信息,該字符串包含了很多不同的統計數據??梢酝ㄟ^在一個Web頁面中添加下面這段JavaScript,并且在Web瀏覽器預覽,從而看到這個字符串:
<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(),并且提供你要查找的字符串?;镜慕Y構如下所示:
string.indexOf('string to look for')
indexOf()方法返回一個數字:如果沒有找到搜索字符串,該方法返回-1。因此,如果你想要檢查Internet Explorer,可以這樣做:
var browser=navigator.userAgent;//this is a stringif(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 3var lastPosition=quote.lastIndexOf('be');//returns 17
在這兩個例子中,如果'be'不存在于字符串中的任何位置,結果將會是-1;如果只有一個搜索字符串的實例,indexO f()和lastIndexOf()將會返回相同的值,也就是搜索字符串在較大的字符串中開始的位置。
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答