ホームページ > ウェブフロントエンド > jsチュートリアル > javascript_javascriptスキルのindexOfテクノロジーの詳細説明

javascript_javascriptスキルのindexOfテクノロジーの詳細説明

WBOY
リリース: 2016-05-16 16:00:28
オリジナル
1104 人が閲覧しました

JavaScript には、文字列内の単語、数値、またはその他の文字列を検索するためのいくつかの手法が用意されています。たとえば、訪問者がサイトの閲覧にどの Web ブラウザを使用しているかを知りたい場合は、検索が便利です。各 Web ブラウザは、さまざまな統計を含む文字列でそれ自体に関する情報を識別します。この文字列は、次の JavaScript を Web ページに追加し、Web ブラウザでプレビューすると確認できます:

<script>
alert(navigator.userAgent);
</script>
ログイン後にコピー

Navigator は Web ブラウザ オブジェクトであり、userAgent は navigator オブジェクトのプロパティです。 userAgent 属性には、長い情報リストが含まれています。たとえば、Windows XP 上で実行されている Internet Explorer 7 の場合、userAgent 属性は Mozilla/4.0 (互換性、MSIE 7.0、Windows NT 5.1) です。したがって、Web ブラウザが IE 7 かどうかを確認したい場合は、userAgent 文字列で「MSIE 7」を検索するだけです。文字列を検索する方法の 1 つは、indexOf() メソッドです。文字列の後にピリオドを追加してから、indexOf() を追加し、探している文字列を指定します。基本的な構造は次のとおりです:
string.indexOf('検索する文字列')

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、2 番目の文字 (o) は位置 1、3 番目の文字 (この例ではスペース) は 2 とみなされます。

indexOf() メソッドは文字列の先頭から検索を開始します。 lastIndexOf() メソッドを使用して、文字列の末尾から検索を開始することもできます。たとえば、シェイクスピアの引用では、「be」という単語が 2 か所に出現するため、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 になります。検索文字列のインスタンスが 1 つしかない場合、indexO f() と lastIndexOf() は同じ値を返します。 、これは、大きな文字列内で検索文字列が始まる位置です。

以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート