我是一个自己学习并且用javascript搞乱的noobie,我偶然发现了那个被称为"正则表达式"的噩梦...我对他们有点了解并且我一直在做着花哨的东西,但我是陷入困境,我希望你向我澄清一下:
我一直在阅读并寻找创造比赛的方法,我匆匆忙忙地回答:
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////
var $rows = $('#table tr');
$('#search').keyup(function() {
var val = '^(?=.*\\b' + $.trim($(this).val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$',
reg = RegExp(val, 'i'),
text;
$rows.show().filter(function() {
text = $(this).text().replace(/\s+/g, ' ');
return !reg.test(text);
}).hide();
Run Code Online (Sandbox Code Playgroud)
});
////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////
我有点理解那里发生了什么,但是有人可以打破它并"在javascript中翻译它",这样我就能更好地理解这个想法,因为我还在学习javascript,所以我几乎无法用jquery做很酷的事情,我知道确定关于jqueries的事情,但还不足以完全理解他在那里所做的事情以及正则表达式足以知道编写taht代码的人是天才<3
这是我的理解,请纠正我:
var $rows = $('#table tr');
Run Code Online (Sandbox Code Playgroud)
这是范围,"目标"将在哪里寻找比赛
pd:这是我第一次看到'$'来声明变量,而我看到它将它设置为jQuery对象..就是这样吧?
var val = '^(?=.*\\b' + $.trim($(this).val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$',
reg = RegExp(val, 'i'),
text;
Run Code Online (Sandbox Code Playgroud)
在'$ .trim($(本).VAL()'等于$ .trim($( "#USER_INPUT")VAL()); ......吧?
reg = RegExp(val, 'i')
Run Code Online (Sandbox Code Playgroud)
reg变量用作构造函数来查找不区分大小写的匹配,但不应该是'reg = new RegExp(val,'i')'或者我可以设置它也是如此? …