名称已经存在正则表达式

时间:2019-03-23 11:30:22

标签: javascript html regex reactjs

在我的React应用程序中,如果用户名已经存在,我必须显示一个错误。

const regex = '(?:' + availableNames.join('|') + ')';

<div className="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">

    <input className="mdl-textfield__input" pattern={regex} autoFocus/>

    <label className="mdl-textfield__label" htmlFor="inp-1">User name</label>
    <span className="mdl-textfield__error" >Name already exists</span>
</div>

我从下面的表达式(?:alex|max|sam)开始,我知道这只允许用户输入alex,max或sam。

但是我无法否定表达式。 我将不胜感激

1 个答案:

答案 0 :(得分:1)

您尝试以负前瞻方式进行此类操作

^((?!\b(alex|max|sam)\b).)*$
  • ^-字符串的开头
  • (?!\b(alex|max|sam)\b)-与这些单词alex, sam, max
  • 中的任何一个都不匹配
  • $-字符串结尾

Demo