2010-10-08 6 views

Répondre

23

Mettez un i après la barre oblique de fermeture de l'expression régulière.

donc votre code ressemblerait à ceci:

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

Avec /i modificateur:

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

Une autre option serait de manipuler simplement le cas à ce que vous voulez.

Il semble que vous essayez de faire correspondre les caractères minuscules.

Vous pouvez le faire:

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

En fait, vous pouvez utiliser .indexOf() au lieu d'un regex si vous voulez.

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

Bien sûr, cela correspondrait à .exe au milieu de la chaîne aussi bien, si c'est un problème.

Enfin, vous n'avez pas vraiment besoin de créer un objet jQuery pour cela. La propriété href est accessible directement à partir de l'élément représenté par this.

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