RegExp, Regex только для Иврита (Hebrew) + возможность добавления новой строки
const onlyHebrewPattern = new RegExp(/^[\u0590-\u05FF ,.'^-]+$/i);
Есть вот такой вот RegExp, не получается сделать новую строку по нажатию enter.
В обработчике событий в textarea добавил
onKeyPress={event => {
if (!onlyHebrewPattern.test(event.key)) {
event.preventDefault();
}
}
Ответы (3 шт):
Автор решения: Konstantin Modin
→ Ссылка
Для мультистрочной обработки текста необходимо добавить m флаг:
const onlyHebrewPattern = new RegExp(/^[\u0590-\u05FF ,.'^-]+$/im);
Автор решения: Wiktor Stribiżew
→ Ссылка
Добавьте в регулярное выражение \r и \n:
const onlyHebrewPattern = new RegExp(/^[\u0590-\u05FF ,.'^\r\n-]+$/);
Выражение ^[\u0590-\u05FF ,.'^\r\n-]+$ найдет любую строку, состоящую из ивритских символов, пробелов, запятых, точек, одиночных кавычек, знака ^, - и символов перехода на новую строку.
Автор решения: hitFM
→ Ссылка
onKeyPress={event => {
if (!onlyHebrewPattern.test(event.key)) {
if (event.key === 'Enter') {
console.info('good');
} else {
console.info('not good');
event.preventDefault();
}
}
}
}
Enter почему-то не попадал под выражение.
Решил вопрос следующим образом.