2016-11-10 6 views
0

Je suis curieux de savoir ce /i est dans:Qu'est-ce que/i dans navigator.userAgent.match

var isMobile = { 
    Android: function() { 
     return navigator.userAgent.match(/Android/i); 
    }, 
    BlackBerry: function() { 
     return navigator.userAgent.match(/BlackBerry/i); 
    }, 
    iOS: function() { 
     return navigator.userAgent.match(/iPhone|iPad|iPod/i); 
    }, 
    Opera: function() { 
     return navigator.userAgent.match(/Opera Mini/i); 
    }, 
    Windows: function() { 
     return navigator.userAgent.match(/IEMobile/i); 
    }, 
    any: function() { 
     return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()); 
    }}; 
} 

Source: https://www.sitepoint.com/navigator-useragent-mobiles-including-ipad/

Quelqu'un pourrait-il me dire ce que /i est exactement? J'ai cherché beaucoup de sites Web pour des choses au sujet de la navigator.userAgent.Match mais pas expliquer ce que /i est, il est parfois aussi /g

+1

drapeau insensible à la casse. Donc, le modèle correspond à * Android *, * androiD *, ou * anDrOid * etc. –

+0

alors/je veux dire qu'il n'est pas sensible aux majuscules et minuscules, mais puis-je remplacer/i par un autre caractère? – Gerwin

+0

Non, vous ne pouvez pas. C'est tout à fait par conception. –

Répondre

1

/heregoesregex/flags est littérale pour une expression régulière dans de nombreuses langues (y compris javascript). Après la dernière barre oblique, vous pouvez spécifier des indicateurs pour l'expression régulière. Liste des drapeaux disponibles pour javascript comprend:

  • g de recherche globale.
  • i Recherche insensible à la casse.
  • m Recherche sur plusieurs lignes.
  • y recherche « collant » qui allie à partir de la position courante dans la chaîne cible
+2

Notez que ES6 prend également en charge '/ u' pour le support Unicode. –