Да с регулярным выражением - Как проверить, что строка НЕ ​​является конкретным словом (без учета регистра)

Я использую YUP для проверки некоторых полей в моей форме (formik для React).

одно из этих полей - имя пользователя, которое пользователь должен выбрать.

Мне нужна возможность отмечать некоторые специальные слова как недопустимые с помощью регулярного выражения.

например, слово "админ" (или "Админ", или любая другая его комбинация) не допускается.

согласно документации YUP:

https://github.com/jquense/yup#stringmatchesregex-regex-message-string--function-schema

но в примере показан только список допустимого слова, а не недопустимого слова

Я пытался:

userName: Yup.string().matches(/^(Admin|admin)/, 'admin is not a valid user name').required('Required'),

но даже этот простой регулярный текст не работает

Итак, как написать регулярное выражение, которое отменяет слово (желательно со всеми комбинациями регистров)?

Благодарность!


person Dardar    schedule 08.11.2020    source источник
comment
Используйте 1_   -  person anubhava    schedule 08.11.2020
comment
это сделало свое дело!   -  person Dardar    schedule 08.11.2020


Ответы (1)


Вы можете использовать этот шаблон:

/[A|a]dmin/ig

Демо

person Lutfi Creativesys    schedule 08.11.2020
comment
я спросил НЕ админа или другие комбинации - person Dardar; 08.11.2020
comment
Вы должны спросить более конкретно. Упомяните о других комбинациях. - person Lutfi Creativesys; 09.11.2020