Javascript Regex Wildcard

时间:2015-10-11 09:40:45

标签: javascript regex

我有这个js代码

$('a').each(function(){
   if($(this).css('background-image')=='url("http://www.example.com/img/icon/earn-point-435912.png")'){
       $(this).parent().remove();
   } 
});

我希望如果匹配

则返回true
http://www.example.com/img/icon/earn-point-**Wildcard**.png

数字 435912 是一个通配符。

如何更改代码以使其正常工作。谢谢!

我尝试了以下但仍未使用

$('a').each(function(){
   if($(this).css('background-image')=='url("http://www.example.com/img/icon/earn-point-circles-.*.png")'){
       $(this).parent().remove();
   } 
});

1 个答案:

答案 0 :(得分:0)

正则表达式操作必须使用JavaScript regex对象完成。您可能想要的正则表达式如下所示:

^http://www.example.com/img/icon/earn-point-\\d+\.png$

\d+是至少1位数的通配符,第一个反斜杠在JavaScript字符串中转义。

正则表达式确保它与URL之前或之后没有任何其他字符完全匹配。为了更加灵活,请从正则表达式中删除^和$。

这是您使用该正则表达式的代码:

$('a').each(function(){
   if(
       RegExp("^http://www.example.com/img/icon/earn-point-\\d+\.png$").test($(this).css('background-image'))
   ){
       $(this).parent().remove();
   } 
});