Как проверить наличие только английских букв с символами пунктуации в строке Java Script
Есть два названия видео:
let titles = [
'JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour',
'JavaScript Основы для Начинающих - Полный Курс за 6 часов [2020]'
]
В каждом из них есть пробелы, цифры, различные символы. Мне нужно условие, которое из этого массива вернёт только первую строчу так как в ней содержится только английский язык. Я пробовал использовать регулярное выражение:
titles.forEach(t => {
if(/^[a-zA-Z]+$/.test(t) === true) {
console.log(t)
}
})
Такой подход не даёт нужного результата из-за присутствия пробелов и других символов в строках.
**Указывать все символы (!";%?%.), которые могут встретиться в названии видео, я думаю не очень правильно т.к. всех символов не укажешь и могут встретиться какие-то непредсказуемые. Так же вместо русского языка, может быть любой другой, который тоже нужно исключить **
Ответы (2 шт):
Автор решения: Vadim.Sharoikin
→ Ссылка
как вариант искать русские буквы в строке
function testInput(re, str) {
if (str.search(re) != -1) {
console.log(true);
} else {
console.log(false);
}
}
const testString = 'hey JuDe а';
const re = /[А-яЁё]/;
testInput(re, testString);
Автор решения: Oliver Patterson
→ Ссылка
let titles = [
'JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour',
'JavaScript Основы для Начинающих - Полный Курс за 6 часов [2020]'
]
titles.forEach(t => {
if(/^[a-zA-Z\d\s!"#$%&'()*+,-.\/:;<=>?@[\]^_`{|}~]+$/.test(t) === true) {
console.log(t)
}
})