如何使用nodejs使搜索大小写不敏感?

我有一个搜索功能,所以我有来自客户端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()

if (line.toLowerCase().indexOf(searchStr.toLowerCase()) != -1) { ...

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

if ("LOREMMMMMM".match(/Lorem/i)) console.log("Match");

链接地址: http://www.djcxy.com/p/21261.html

上一篇: How to make search case insensitive using nodejs?

下一篇: Contents of an H3 as the H3's ID