The startsWith()
method determines whether a string begins with the characters of another string, returning true
or false
as appropriate.
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 to 0.
Return value
true
if the string begins with the characters of the search string; otherwise, false
.
Description
This method lets you determine whether or not a string begins with another string. This method is case-sensitive.
Examples
Using startsWith()
//startswith var 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
Polyfill
This method has been added to the ECMAScript 6 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) { String.prototype.startsWith = function(searchString, position){ position = position || 0; return this.substr(position, searchString.length) === searchString; }; }
A more robust and optimized Polyfill is available on GitHub by Mathias Bynens.
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'String.prototype.startsWith' in that specification. |
Standard | Initial definition. |
ECMAScript 2017 Draft (ECMA-262) The definition of 'String.prototype.startsWith' in that specification. |
Draft |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 41 | 17 (17) | (Yes) | No support | 28 | 9 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | 36 | 17.0 (17) | No support | No support | No support |
Please note that although the MSDN documentation for this method (https://msdn.microsoft.com/en-us/library/mt146831(v=vs.94).aspx) clearly indicates that it is not supported in Internet Explorer, the method does seem to work, as far back as Internet Explorer 8.