{hero}

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

類型

function escapeRegex( str )

描述

在正規表示式字串中逸出特殊字元。

回傳

已逸出的字串

範例

使用 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>');
			});
	});

相關

以下選項直接相關,在您的應用程式開發中也可能很有用。