{{2p>我怎样才能找到检测到的可以正则表达式我将如何做?var ara ='facebook.com';
$( "div:contains('"+ara+"')" ).each(function(){
var ekle = ' aaaaaaa >| ';
veri = $(this).html();
islenmis = veri.split(ara);
if(islenmis[0]=='http://www.'||islenmis[0]=='https://www.'||islenmis[0]=='http://'||islenmis[0]=='https://'||islenmis[0]=='http://'||islenmis[0]=='http://'+regex(.*)){
$(this).addClass('newClass');
}
})
答案 0 :(得分:0)
你可以使用正则表达式,但在这种情况下你必须在名称中转义点,因为它是正则表达式中的一个特殊字符(实际上它仍然大部分没有它,但最好是这样做而不是陷入奇怪的情况一次)。
最简单的是一个匹配'//'的表达式,然后匹配任何不是'/'([^/]*
)的东西,后跟目标字符串,如下所示:
re = new RegExp("//[^/]*facebook\.com");
我们应该匹配起始'http'/'https'以防万一,我将假设它总是在行的开头,所以添加一个匹配的行开头(^
),然后http
,然后是零或一个字符(s?
),然后是冒号。
如果您想要转义传入的字符串(以便您可以在变量中指定网站),请在此处尝试此解决方案:Simple jQuery / javascript method to escape special characters in string for regexp
为facebook.com硬编码的解决方案看起来像:
$( "span:contains('facebook.com')" ).each(function(){
re = new RegExp("^https?://[^/]*facebook\.com");
if(re.test($(this).html())) {
// Matched, do something ...
console.log("MATCH: ",$(this));
} else {
// Not matched, do something else (maybe) ...
console.log("NOMATCH: ", $(this));
}
});