Jquery搜索和替换功能

时间:2013-09-15 23:47:09

标签: jquery

var ara ='facebook.com';

{{2p>我怎样才能找到检测到的可以正则表达式我将如何做?

 $( "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');
        } 
     }) 

1 个答案:

答案 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));
    }

});