[英]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;
如果需要布爾結果,請不要使用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.