搜索不区分大小写

时间:2019-07-13 08:42:04

标签: javascript vuejs2

我有一些代码只搜索区分大小写的代码。我尝试过toUpperCase()/ toLowerCase()方法。

<script>
import json from './json/data.json';

export default {
  name: 'app',
  data(){
    return {
      search: '',
      blogs: json.slice(0,10),
    }
  },

computed: {
    filteredBlogs: function(){
      return this.blogs.filter((blog)=>{

        return blog.title.match(this.search) ||
               blog.lineId.match(this.search);


      });
    }
  }

}
</script>

任何想法搜索都区分大小写吗?

1 个答案:

答案 0 :(得分:0)

假设this.search是一个字符串,则在将其传递给match时,默认情况下区分大小写的是implicitly converted to a RegExp

尝试使用this.search选项从"i"显式创建正则表达式,以提供不区分大小写的内容:

computed: {
  filteredBlogs: function(){
    return this.blogs.filter((blog)=>{

      const regex = new RegExp(this.search, 'i')

      return blog.title.match(regex) ||
        blog.lineId.match(regex);
    });
  }
}