Apply your JS skills to key Mozilla projects as an MDN Fellow! http://mzl.la/MDNFellowship

mozilla
Your Search Results

    String.prototype.substring()

    Summary

    The substring() method returns a subset of a string between one index and another, or through the end of the string.

    Syntax

    str.substring(indexA[, indexB])

    Parameters

    indexA
    An integer between 0 and the length of the string, specifying the offset into the string of the first character to include in the returned substring.
    indexB
    Optional. An integer between 0 and the length of the string, which specifies the offset into the string of the first character not to include in the returned substring.

    Description

    substring() extracts characters from indexA up to but not including indexB. In particular:

    • If indexA equals indexB, substring() returns an empty string.
    • If indexB is omitted, substring() extracts characters to the end of the string.
    • If either argument is less than 0 or is NaN, it is treated as if it were 0.
    • If either argument is greater than stringName.length, it is treated as if it were stringName.length.

    If indexA is larger than indexB, then the effect of substring() is as if the two arguments were swapped; for example, str.substring(1, 0) == str.substring(0, 1).

    Examples

    Example: Using substring()

    The following example uses substring() to display characters from the string 'Mozilla':

    var anyString = 'Mozilla';
    
    // Displays 'Moz'
    console.log(anyString.substring(0, 3));
    console.log(anyString.substring(3, 0));
    
    // Displays 'lla'
    console.log(anyString.substring(4, 7));
    console.log(anyString.substring(7, 4));
    
    // Displays 'Mozill'
    console.log(anyString.substring(0, 6));
    
    // Displays 'Mozilla'
    console.log(anyString.substring(0, 7));
    console.log(anyString.substring(0, 10));
    

    Example: Using substring() with length property

    The following example uses the substring() method and length property to extract the last characters of a particular string. This method may be easier to remember, given that you don't need to know the starting and ending indices as you would in the above examples.

    // Displays 'illa' the last 4 characters
    var anyString = 'Mozilla';
    var anyString4 = anyString.substring(anyString.length - 4);
    console.log(anyString4);
    
    // Displays 'zilla' the last 5 characters
    var anyString = 'Mozilla';
    var anyString5 = anyString.substring(anyString.length - 5);
    console.log(anyString5);
    

    Example: Replacing a substring within a string

    The following example replaces a substring within a string. It will replace both individual characters and substrings. The function call at the end of the example changes the string 'Brave New World' into 'Brave New Web'.

    // Replaces oldS with newS in the string fullS
    function replaceString(oldS, newS, fullS) {
      for (var i = 0; i < fullS.length; ++i) {
        if (fullS.substring(i, i + oldS.length) == oldS) {
          fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length);
        }
      }
      return fullS;
    }
    
    replaceString('World', 'Web', 'Brave New World');
    

    Note that this can result in an infinite loop if oldS is itself a substring of newS — for example, if you attempted to replace 'World' with 'OtherWorld' here. A better method for replacing strings is as follows:

    function replaceString(oldS, newS, fullS) {
      return fullS.split(oldS).join(newS);
    }
    

    The code above serves as an example for substring operations. If you need to replace substrings, most of the time you will want to use String.prototype.replace().

    Specifications

    Specification Status Comment
    ECMAScript 1st Edition. Standard Implemented in JavaScript 1.0.
    ECMAScript 5.1 (ECMA-262)
    The definition of 'String.prototype.substring' in that specification.
    Standard  
    ECMAScript 6 (ECMA-262)
    The definition of 'String.prototype.substring' in that specification.
    Draft  

    Browser compatibility

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

    See also

    Document Tags and Contributors

    Last updated by: Mingun,
    Hide Sidebar