Open In App

How to check the user is using Internet Explorer in JavaScript?

Last Updated : 14 May, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

There may arise cases when we need to check the browser being used. Some features of your website may not be supported in older browsers like Internet Explorer(IE). There are different ways to check the version of Internet Explorer being used.

Syntax-1: For Internet Explorer 10 or older

var ua = window.navigator.userAgent;
var msie = ua.indexOf('MSIE ');
if (msie > 0) {
   // IE 10 or older => return version number
        return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
    }

Syntax-2: For Internet Explorer 11

var ua = window.navigator.userAgent;
var trident = ua.indexOf('Trident/');
if (trident > 0) {
        // IE 11 => return version number
        var rv = ua.indexOf('rv:');
        return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
    }

Syntax-3: For Internet Explorer 12+ (Edge)

var ua = window.navigator.userAgent;
var edge = ua.indexOf('Edge/');
if (edge > 0) {
       // Edge (IE 12+) => return version number
       return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
    }

Example:




<!DOCTYPE html>
<html>
  
<head>
    <title>
      Detects user uses Internet Explorer
  </title>
</head>
  
<body>
    <center>
        <h1 style="color:green">GeeksforGeeks</h1>
        <script>
            //detects if user uses Internet Explorer
            //returns version of IE or false, if browser is not IE
            //Function to detect IE or not
            function IEdetection() {
                var ua = window.navigator.userAgent;
                var msie = ua.indexOf('MSIE ');
                if (msie > 0) {
                    // IE 10 or older, return version number
                    return ('IE ' + parseInt(ua.substring(
                      msie + 5, ua.indexOf('.', msie)), 10));
                }
                var trident = ua.indexOf('Trident/');
                if (trident > 0) {
                    // IE 11, return version number
                    var rv = ua.indexOf('rv:');
                    return ('IE ' + parseInt(ua.substring(
                      rv + 3, ua.indexOf('.', rv)), 10));
                }
                var edge = ua.indexOf('Edge/');
                if (edge > 0) {
                    //Edge (IE 12+), return version number
                    return ('IE ' + parseInt(ua.substring(
                      edge + 5, ua.indexOf('.', edge)), 10));
                }
                // User uses other browser
                return ('Not IE');
            }
            var result = IEdetection();
            document.write(result);
        </script>
    </center>
</body>
  
</html>


Output (Opening with Firefox):

Not IE

Output (Opening with IE 11):

IE 11

Output (Opening with Edge):

IE 18


Like Article
Suggest improvement
Share your thoughts in the comments