javascript - 名称已存在正则表达式

标签 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。

但我无法否定这个表达式。 如果有任何帮助,我将不胜感激

最佳答案

你用负前瞻尝试这样的事情

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

Demo

关于javascript - 名称已存在正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55313274/

相关文章:

javascript - 如何检查 Svelte 应用程序的浏览器兼容性?

JavaScript:对类/函数和对象使用相同的名称?

html - 仅在检测到移动设备时添加 href ="tel:"

javascript - REGEX 匹配没有内部文本的开始和结束 span 标签

java - 使用模式/匹配器提取子字符串

javascript - Aurelia JS - 多级绑定(bind)/更新?

javascript - 如何在jquery中使用node.js文件的输出?

javascript - 使用 jquery 与 html 表格的宽度和高度相同

javascript - 如何将转义\{ 添加到以下正则表达式?

javascript - 我不明白这个语法javascript是怎么回事