Если вы используете регулярное выражение, вы должны убедиться, что передали правильное Регулярное выражение в match (). Проверьте список специальных символов , чтобы убедиться, что вы не передали недопустимое регулярное выражение. Следующие символы всегда должны быть экранированы (ставьте \ перед ним): [\ ^ $. |? * + ()
Лучшим решением было бы использовать substr () следующим образом:
if( str === words.substr( 0, str.length ) ) {
// match
}
или решение, использующее indexOf ((выглядит немного чище):
if( 0 === words.indexOf( str ) ) {
// match
}
затем вы можете добавить метод beginWith () к прототипу строки, который включает любое из двух вышеуказанных решений, чтобы сделать использование более читабельным:
String.prototype.startsWith = function(str) {
return ( str === this.substr( 0, str.length ) );
}
При добавлении к прототипу вы можете использовать его следующим образом:
words.startsWith( "word" );