在 JavaScript 中,search 方法用于检索 字符串 中指定的子字符串,或检索与 正则表达式 相匹配的子字符串,并返回子串的起始位置。
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
stringObject.search(regexp)
参数
参数 描述 regexp 该参数可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp 对象。
注释:要执行忽略大小写的检索,请追加标志 i。返回值
stringObject 中第一个与 regexp 相匹配的子串的起始位置。如果没有找到任何匹配的子串,则返回 -1。
说明
search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。
案例
search函数匹配查找字符串
使用 search 函数,在一个字符串中查找匹配另一个字符串
<!DOCTYPE html> <html> <head> <title>JavaScript search查找字符串</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); var strHaiCoder = "I love JavaScript and I study JavaScript From HaiCoder" var index1 = strHaiCoder.search("love"); console.log("Index1 =", index1); var index2 = strHaiCoder.search("haicoder"); console.log("Index2 =", index2); var index3 = strHaiCoder.search(/JavaScript/); console.log("Index3 =", index3); var index4 = strHaiCoder.search(/javascript/); console.log("Index4 =", index4); var index5 = strHaiCoder.search(/javascript/i); console.log("Index5 =", index5); </script> </head> </html>
程序运行后,控制台输出如下:
首先,我们定义了一个字符串类型的变量 strHaicoder,接着我们使用字符串的 search 函数查找字符串 “love”,结果查询到了,返回了查询的结果的下标。
接着,我们再次在字符串中使用 search 查找不存在的字符串,结果返回了 -1。接着,我们在 search 函数中,使使用正则表达式,查找了字符串中的 “JavaScript” 字符串,此时,返回了正确的下下标。
最后,我们使用正则表达式查找了不存在的 “javascript” 字符串,返回了 -1,因为正则匹配是大小写敏感的,因此匹配失败,最后,我们在正则表达式后面加了 “i” 标志,表明忽略大小写进行匹配,结果,匹配成功。
注意:使用正则表达式匹配字符串时,正则表达式不能加双引号。
JavaScript search正则搜索总结
在 JavaScript 中,search 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。