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>');
});
});
相关
以下选项直接相关,对于您的应用程序开发而言也可能有用。