The startsWith()
method determines whether a string begins with the characters of a specified string, returning true
or false
as appropriate.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
str.startsWith(searchString[, position])
Parameters
searchString
- The characters to be searched for at the start of this string.
position
Optional- The position in this string at which to begin searching for
searchString
. Defaults to0
.
Return value
true
if the given characters are found at the beginning of the string; otherwise, false
.
Description
This method lets you determine whether or not a string begins with another string. This method is case-sensitive.
Polyfill
This method has been added to the ECMAScript 2015 specification and may not be available in all JavaScript implementations yet. However, you can polyfill String.prototype.startsWith()
with the following snippet:
if (!String.prototype.startsWith) { Object.defineProperty(String.prototype, 'startsWith', { value: function(search, rawPos) { var pos = rawPos > 0 ? rawPos|0 : 0; return this.substring(pos, pos + search.length) === search; } }); }
A more robust (fully ES2015 specification compliant), but less performant and compact, Polyfill is available on GitHub by Mathias Bynens.
Examples
Using startsWith()
//startswith let str = 'To be, or not to be, that is the question.' console.log(str.startsWith('To be')) // true console.log(str.startsWith('not to be')) // false console.log(str.startsWith('not to be', 10)) // true
Specifications
Specification |
---|
ECMAScript (ECMA-262) The definition of 'String.prototype.startsWith' in that specification. |
Browser compatibility
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startsWith | Chrome Full support 41 | Edge Full support 12 | Firefox Full support 17 | IE No support No | Opera Full support 28 | Safari Full support 9 | WebView Android Full support ≤37 | Chrome Android Full support 36 | Firefox Android Full support 17 | Opera Android Full support 24 | Safari iOS Full support 9 | Samsung Internet Android Full support 3.0 | nodejs
Full support
4.0.0
|
Legend
- Full support
- Full support
- No support
- No support
- User must explicitly enable this feature.
- User must explicitly enable this feature.