В вашем конкретном примере ответ @ Steve будет отлично работать, потому что вы проверяете определенное условие в конце вашей строки.Однако, если вы хотите протестировать более сложные строки, вы также можете рассмотреть возможность использования Регулярных выражений (также известный как RegEx).Эта документация Mozilla содержит отличное руководство по использованию регулярных выражений для JavaScript.
Чтобы создать шаблон регулярного выражения и использовать его для проверки вашей строки, вы можете сделать что-то вроде следующего:
const regex = /:\s*$/;
// All three will output 'true'
console.log(regex.test('foo:'));
console.log(regex.test('foo: '));
console.log(regex.test('foo: '));
// All three will output 'false'
console.log(regex.test('foo'));
console.log(regex.test(':foo'));
console.log(regex.test(': foo'));
... Где регулярное выражение /:\s*$/
можно интерпретировать так:
/ Start of regex pattern
: Match a literal colon (:)
\s Right afterward, match a whitespace character
* Match zero or more of the preceding characters (the space character)
$ Match at the end of the string
/ End of regex pattern
Вы можете использовать Regexr.com чтобы выполнить живое тестирование для различных шаблонов регулярных выражений, которые вы придумали, и вы можете ввести образец текста в текстовое поле, чтобы увидеть, соответствует ли ваш шаблон.
Регулярные выражения - мощный инструмент.Есть некоторые случаи, когда вы хотите их использовать, и другие случаи, когда это излишне.Для вашего конкретного примера простое использование .endsWith()
является более простым и, скорее всего, предпочтительным.Если вам нужно выполнить сложное сопоставление с шаблоном, где функции JavaScript его не обрежут, регулярные выражения могут помочь.Стоит почитать и еще один хороший инструмент, чтобы положить его в набор инструментов.