簡體   English   中英

JavaScript /不區分大小寫

[英]JavaScript / case-insensitive

我具有此功能來過濾值以實現自動完成功能:

 store.filter(new Ext.util.Filter({
    filterFn: function (object) {
        var match = false;
        Ext.Object.each(object.data, function (property, value) {
        match = match || value.match(Ext.getCmp('search_input_text').getValue());

        });
        return match;
      }

我需要區分大小寫,以便大寫和小寫都相同。

value.match(Ext.getCmp('search_input_text').getValue());

類似LIKE在SQL。 我怎樣才能做到這一點 ?

var a = "ABC"
a = a.toLowerCase();
//a == "abc"

將兩個值都轉換為小寫,然后進行比較。 如果它們是相等的字母,則不考慮大小寫,它將返回true:

假設您的value是一個String

var input = Ext.getCmp('search_input_text').getValue();
match = value.toLowerCase().match(input.toLowerCase()) ? input : match;

這使用臨時變量來返回其原始大小寫的值。

如果您要進行不區分大小寫的搜索,可以編寫

match = (match.toLowerCase().indexOf("search_input_text") >= 0) ? "search_input_text" : match;
  1. 正則表達式有一個使用字符串參數的構造函數。
  2. 如果需要布爾結果,請不要使用match ,而應使用test

     store.filter(new Ext.util.Filter({ filterFn: function (object) { var match = false; Ext.Object.each(object.data, function (property, value) { var filterValue = Ext.getCmp('search_input_text').getValue(); var r = new RegExp(filterValue, 'i'); match = match || r.test(value); }); return match; } ... } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM