指定した文字列が存在するか調べる(indexOf)

説明

文字列を検索するにはindexOf()またはlastIndexOf()を使います。indexOf()は文字列の先頭から検索し見つかった位置を返します。lastIndexOf()は文字列の末尾から検索し見つかった位置を返します。また、検索位置を指定することで文字列の途中から検索することもできます。文字列が見つからなかった場合は-1を返します。
より高度な検索を行いたい場合には正規表現が利用できるmatch()を利用します。
JavaScriptテクニック ブック  詳しい解説などはJavaScriptテクニック ブックを参照してください。

サンプルコード [実行]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>JavaScript Sample</title>
<link rel="stylesheet" type="text/css" href="main.css" media="all">
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<h1>指定した文字列が存在するか調べる</h1>
<form action="./check.cgi" method="get" name="mainForm">
検索対象文字列:<input type="text" name="targetText" id="targetText" value="JavaScript"><br>
検索したい文字:<input type="text" name="searchText" id="searchText" value="Script">
<input type="button" id="checkButton" value="検索する">
</form>
<div id="result">結果:</div>
</body>
</html>

window.onload = function(){
document.getElementById("checkButton").onclick = function(){
var text = document.getElementById("targetText").value;
var str = document.getElementById("searchText").value;
var ptr = text.indexOf(str,0);
if (ptr < 0) {
document.getElementById("result").innerHTML = "a°©C¬C©CE¨C〈CπCO`C?CμCΩ";
}else{
document.getElementById("result").innerHTML = (ptr+1)+"i¨∂e´o¨n/C?a°©C¬C©CE¨C〈CμCΩ";
}
}
}