Search code examples
javascriptjqueryinternet-explorerprototypejs

JavaScript endsWith is not working in IEv10?


I'm trying to compare two strings in JavaScript using endsWith(), like

var isValid = string1.endsWith(string2);

It's working fine in Google Chrome and Mozilla. When comes to IE it's throwing a console error as follows

SCRIPT438: Object doesn't support property or method 'endsWith' 

How can I resolve it?


Solution

  • Method endsWith() not supported in IE. Check browser compatibility here.

    You can use polyfill option taken from MDN documentation:

    if (!String.prototype.endsWith) {
      String.prototype.endsWith = function(searchString, position) {
          var subjectString = this.toString();
          if (typeof position !== 'number' || !isFinite(position) 
              || Math.floor(position) !== position || position > subjectString.length) {
            position = subjectString.length;
          }
          position -= searchString.length;
          var lastIndex = subjectString.indexOf(searchString, position);
          return lastIndex !== -1 && lastIndex === position;
      };
    }