gpt4 book ai didi

javascript - 不区分大小写的搜索

转载 作者:IT老高 更新时间:2023-10-28 13:12:04 26 4
gpt4 key购买 nike

我正在尝试在 JavaScript 中使用两个字符串进行不区分大小写的搜索。

通常是这样的:

var string="Stackoverflow is the BEST";
var result= string.search(/best/i);
alert(result);

/i 标志将不区分大小写。

但我需要搜索第二个字符串;没有标志,它可以完美运行:

var string="Stackoverflow is the BEST";
var searchstring="best";
var result= string.search(searchstring);
alert(result);

如果我将 /i 标志添加到上面的示例中,它将搜索 searchstring 而不是变量“searchstring”中的内容(下一个示例不起作用):

var string="Stackoverflow is the BEST";
var searchstring="best";
var result= string.search(/searchstring/i);
alert(result);

我怎样才能做到这一点?

最佳答案

是的,使用 .match,而不是 .search.match 调用的结果将返回与自身匹配的实际字符串,但它仍可用作 bool 值。

var string = "Stackoverflow is the BEST";
var result = string.match(/best/i);
// result == 'BEST';

if (result){
alert('Matched');
}

使用这样的正则表达式可能是 JavaScript 中最简洁和最明显的方法,但请记住它 一个正则表达式,因此可以包含正则表达式元字符。如果您想从其他地方获取字符串(例如,用户输入),或者如果您想避免转义大量元字符,那么您最好像这样使用 indexOf:

matchString = 'best';
// If the match string is coming from user input you could do
// matchString = userInput.toLowerCase() here.

if (string.toLowerCase().indexOf(matchString) != -1){
alert('Matched');
}

关于javascript - 不区分大小写的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/177719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com