JavaScript String search() 方法



JavaScript String search() 方法在原始字符串中搜索字符串或正则表达式,并返回第一个匹配项的 index(position)。如果未找到匹配项,则返回 -1。

此方法区分大小写,这意味着它将字符串 “Hi” 和 “hi” 视为两个不同的值。但是,您可以通过在正则表达式中使用 /i 标志来使 search() 方法不区分大小写。

注意 − 正则表达式的 'g'(global) 标志对 search() 方法结果没有影响,并且搜索总是像正则表达式 lastIndex 为 0 一样进行。

语法

以下是 JavaScript String search() 方法的语法 -


 search(regexp)

参数

  • regexp − 一个 regexp(正则表达式)对象。

返回值

此方法返回 regexp 和给定字符串之间的第一个匹配项的 index(position)。

示例 1

如果在 regexp 和原始字符串之间找到匹配项,则此方法返回第一个匹配项的索引。

在下面的程序中,我们使用 JavaScript 字符串 search() 方法来匹配和检索原始字符串 “Welcome to qikepu com” 中正则表达式 “/com/i” 的索引(或位置)。


<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
	 	const str = "Welcome to qikepu com";
	 	document.write("Original String: ", str);
	 	let regexp = /com/i;
	 	document.write("<br>regexp: ", regexp);
	 	document.write("<br>The sub-string '", regexp, "' found at position ",str.search(regexp));
</script> 	 	
</body>
</html>

输出

上面的程序将字符串 “com” 的 index(position) 返回为 21。

Original String: Welcome to qikepu com
regexp: /com/i
The sub-string '/com/i' found at position 3

示例 2

如果在原始字符串中找不到指定的 regexp,则 search() 方法返回 -1。

以下是 JavaScript String search() 方法的另一个示例。在此示例中,我们使用此方法匹配原始字符串 “Hello World” 中的 regexp '/Hi/'。


<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
	 	const str = "Hello World";
	 	document.write("Original String: ", str);
	 	let regexp = /Hi/;
	 	document.write("<br>regexp: ", regexp);
	 	document.write("<br>The regexp '", regexp, "' found at position ",str.search(regexp));
</script> 	 	
</body>
</html>

输出

执行上述操作后,它将返回 -1。

Original String: Hello World
regexp: /Hi/
The regexp '/Hi/' found at position -1

示例 3

让我们在条件语句中使用方法 result 来检查正则表达式 “/[^\w\P']/;” 和原始字符串 “qikepu com” 之间是否匹配。


<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
	 	const str = "qikepu com";
	 	document.write("Original String: ", str);
	 	let regexp = /[^\w\P']/;
	 	document.write("<br>regexp: ", regexp);
	 	let index = str.search(regexp);
	 	document.write("<br>Method returns: ", index, "<br>");
	 	if(index !=-1){
	 	 	 document.write("Match found");
	 	}
	 	else{
	 	 	 document.write("Not found");
	 	}
</script> 	 	
</body>
</html>

输出

以下是上述程序的输出 -

Original String: qikepu com
regexp: /[^\w\P']/
Method returns: 6
Match found