Yup with regex-如何验证字符串不是特定单词不区分大小写

问题描述

我正在使用YUP来验证表单中的某些字段(React的formik)。

其中一个字段是用户需要选择的用户名

我希望能够使用正则表达式将某些特殊单词标记为无效。

例如,不允许使用“ admin”(或“ Admin”或其他任何组合)

根据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'),

但是即使这个简单的正则表达式也不起作用

那么,如何编写一个使单词取反的正则表达式(最好是所有大小写组合都使用)?

谢谢!

解决方法

您可以使用此模式:

/[A|a]dmin/ig

Demo

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...