Javascript 如何使用nodejs使搜索不区分大小写?

Javascript 如何使用nodejs使搜索不区分大小写?,javascript,node.js,search,Javascript,Node.js,Search,我有一个搜索功能,所以我有来自客户端Str的输入,如果该输入与文件中的内容匹配,则发送该输入作为响应。假设我现在在文件Lorem中有文本,如果我从客户端搜索Lorem,它会发送空数组,因为区分大小写。如何使搜索不区分大小写 searchService.js var searchStr; function readFile(str, logFiles, callback) { searchStr = str; // loop through each file

我有一个搜索功能,所以我有来自客户端Str的输入,如果该输入与文件中的内容匹配,则发送该输入作为响应。假设我现在在文件Lorem中有文本,如果我从客户端搜索Lorem,它会发送空数组,因为区分大小写。如何使搜索不区分大小写

searchService.js

var searchStr;
function readFile(str, logFiles, callback) {
        searchStr = str;
        // loop through each file
        async.eachSeries(logFiles, function (logfile, done) {
            // read file
            fs.readFile('logs/dit/' + logfile.filename, 'utf8', function (err, data) {
                if (err) {
                    return done(err);
                }
                var lines = data.split('\n'); // get the lines
                lines.forEach(function(line) { // for each line in lines
                    if (line.indexOf(searchStr) != -1) { // if the line contain the searchSt
                        results.push({
                        filename:logfile.filename,
                        value:line
                        });
                    }
                });
                // when you are done reading the file
                done();
            });
你可以使用toLowerCase

你可以使用toLowerCase


可以使用.match/pattern/i使用正则表达式。 /i使模式搜索不区分大小写


如果为loremmmmm.match/Lorem/i console.logMatch

您可以使用.match/pattern/i使用正则表达式。 /i使模式搜索不区分大小写


如果为loremmmmm.match/Lorem/i console.logMatch

可能重复的可能重复的如果我们在文件内容中有大写字母,客户端发送小写字符串呢?你会注意到我在字符串行中调用toLowerCase也很好!非常感谢。如果我们在文件内容中使用大写字母,而客户端发送小写字符串呢?你会注意到我在字符串行中也调用了toLowerCase!非常感谢。
if (line.toLowerCase().indexOf(searchStr.toLowerCase()) != -1) { ...