Подскажите, подскажите пожалуйста, модифицировать данное регулярное выражение: при нажатии клавиши Enter идёт переход на новую строку, и в вызалит ошибка ссылающаяся на пробелы, даже если увеличить количество разрешённых пробелов, при переходе на новую строку все равно появляется это сообщение об ошибке.
использую вот это: ссылка.
Возможно можно дописать в регулярное выражение, количество переходов на новую строку, но я перевернул весь интеренет и не нашёл ответа на этот вопрос. Вероятно я как новичёк, не совсем понимаю как работать с регулярными выражения, надеюсь на вашу помощь!
export const getAboutStockValidation = () =>
Yup.string()
.trim()
.matches(/^((?!\s{2}).)*$/, 'Не более одного пробела между словами')
.min('10', 'Минимум 10 символов')
.max('250', 'Максимум 250 символов');
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.0/react-dom.min.js"></script>
Главная проблема — . не находит знаков перехода на новую строку. Кроме того, используемая конструкция слишком громоздка, достаточно ограничиться одним блоком просмотра вперёд:
/^(?![^]*\s{2})/
^(?![^]*\s{2}) находит начало строки (^), а потом, если находит 0 и более любых символов, за которыми следует 2 любых пробельных символа, возваращает false.
Если необходимо отсеять совпадания с 2+ "вертикальными" пробельными символами, используйте
/^(?![^]*[^\S\r\n]{2})/
[^\S\r\n] находит только "горизонтальные" пробельные символы (за исключением некоторых нетипичных переходов на новую строку, но этого шаблона чаще всего достаточно).
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости