DataTable.util.escapeRegex()
自:DataTables 1.11 起
在正規表示式字串中逸出特殊字元。
描述
當使用正規表示式時,通常會需要逸出輸入,這樣格式化的字串中帶有在正規表示式中有特殊意義的字元,才能單純地進行字元比對。在 Javascript 的正規表示式中有一些特殊字元,而 DataTables 需要能夠在內部逸出這些字串(用於使用者輸入搜尋資料) - 這個方法將此功能公開到外部。
這是一個工具方法,提供給擴充功能和外掛程式作者使用。它的使用不會直接影響 DataTable 或 DataTables 的配置。它在 DataTables 內部使用,並在公共 API 中提供,以幫助擴充功能作者促進程式碼的重複使用。
請注意,這是一個靜態函數,並且是透過 DataTable
或 $.fn.dataTable
物件來存取,而不是透過 API 實例。它可以在任何時候存取,即使是在頁面上尚未建立任何 DataTables 之前。
在 DataTables 1.11 之前,這個方法只能透過 $.fn.dataTable
物件存取。從 1.11 開始,可以使用 DataTable
或 $.fn.dataTable
。
類型
範例
使用 select
元素執行逸出比對搜尋
var table = new DataTable('#myTable');
table
.columns()
.indexes()
.flatten()
.each(function (i) {
var column = table.column(i);
var select = $('<select><option value=""></option></select>')
.appendTo($(column.footer()).empty())
.on('change', function () {
// Escape the expression so we can perform a regex match
var val = $.fn.dataTable.util.escapeRegex($(this).val());
column.search(val ? '^' + val + '$' : '', true, false).draw();
});
column
.data()
.unique()
.sort()
.each(function (d, j) {
select.append('<option value="' + d + '">' + d + '</option>');
});
});
相關
以下選項直接相關,在您的應用程式開發中也可能很有用。