JavaScript 字符串 search() 方法
JavaScript 字符串的 search() 方法在原始字符串中搜索字符串或正则表达式,并返回第一个匹配项的索引(位置)。如果未找到匹配项,则返回 -1。
此方法区分大小写,这意味着它将字符串"Hi"和"hi"视为两个不同的值。但是,您可以通过在正则表达式中使用 /i 标志,使 search() 方法不区分大小写。
注意 - 正则表达式的 'g'(全局)标志对 search() 方法的结果没有影响,搜索始终按正则表达式 lastIndex 为 0 的方式进行。
语法
以下是 JavaScript 字符串 search() 方法的语法 -
search(regexp)
参数
- regexp - 一个 regexp(正则表达式)对象。
返回值
此方法返回第一个匹配项之间的索引(位置)。正则表达式和给定字符串。
示例 1
如果在正则表达式和原始字符串之间找到匹配,则此方法返回第一个匹配项的索引。
在下面的程序中,我们使用 JavaScript 字符串的 search() 方法匹配并检索正则表达式"/point/i"在原始字符串"Welcome to Tutorials Point"中的索引(或位置)。
<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
const str = "Welcome to Tutorials Point";
document.write("Original String: ", str);
let regexp = /point/i;
document.write("<br>regexp: ", regexp);
document.write("<br>The sub-string '", regexp, "' found at position ",str.search(regexp));
</script>
</body>
</html>
输出
上述程序返回字符串"Point"的索引(位置)为 21。
Original String: Welcome to Tutorials Point regexp: /point/i The sub-string '/point/i' found at position 21
示例 2
如果在原始字符串中找不到指定的正则表达式,则 search() 方法返回 -1。
以下是 JavaScript 字符串 search() 方法的另一个示例。在此示例中,我们使用此方法匹配原始字符串"Hello World"中的正则表达式"/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']/;"与原始字符串"Tutorials Point"是否匹配。
<html>
<head>
<title>JavaScript String search() Method</title>
</head>
<body>
<script>
const str = "Tutorials Point";
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: Tutorials Point regexp: /[^\w\P']/ Method returns: 9 Match found

