2010-10-08 5 views

ответ

23

Поместите i после закрытия косой черты регулярного выражения.

Так что ваш код будет выглядеть следующим образом:

if ($(this).attr("href").match(/\.exe$/i)) 
4

С /i модификатора:

if ($(this).attr("href").match(/\.exe$/i)) 
{ 
// do something 
} 
2
if ($(this).attr("href").match(/\.exe$/i)) 
{ 
// do something 
} 
3

Другим вариантом было бы просто манипулировать дело, что вы хотите.

Кажется, что вы пытаетесь сопоставить символы нижнего регистра.

Таким образом, вы можете сделать это:

if ($(this).attr("href").toLowerCase().match(/\.exe$/)) { 
    // do something 
} 

В самом деле, вы могли бы использовать .indexOf() вместо регулярных выражений, если вы хотите.

if ($(this).attr("href").toLowerCase().indexOf('.exe') > -1) { 
    // do something 
} 

Конечно, этот матч будет .exe в середине строки, а также, если это является проблемой.

Наконец, для этого вам не нужно создавать объект jQuery. Свойство href доступно непосредственно из элемента, представленного this.

if (this.href.toLowerCase().match(/\.exe$/)) { 
    // do something 
}