限制可能的用户名

告诉我们发生了什么:
在此详细描述你的问题。
限制可能的用户名

用户名在互联网上随处可见。 它们是用户在自己喜欢的网站上的唯一身份。

需要检索数据库中的所有用户名。 以下是用户在创建用户名时必须遵守的一些简单规则。

  1. 用户名只能是数字字母字符。
  2. 用户名中的数字必须在最后。 数字可以有零个或多个。 用户名不能以数字开头。
  3. 用户名字母可以是小写字母和大写字母。
  4. 用户名长度必须至少为两个字符。 两位用户名只能使用字母。

修改正则表达式 userCheck 以满足上面列出的约束。

这个代码搞不出来来啊!!!!

你目前的代码


let username = "JackOfAllTrades";
let userCheck = /[a-z][a-z][a-z*][0-9*]|[a-z][0-9][0-9]$/gi; // 修改这一行
let result = userCheck.test(username);

你的浏览器信息:

用户代理是: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36

挑战: 限制可能的用户名

挑战的链接:

给你的答案做了一些修改:/^[a-z][a-z][a-z]*[0-9]*$|^[a-z][0-9][0-9]$/i

首先每个分支的前面要加上 ^,表示从头开始匹配。不加的话 BadUs3rnam3 中的 rnam3 会被匹配。

其次 * 要从 [] 中移出来。[a-z*] 表示匹配一个 a-z 的字母,或者一个符号 *[a-z]* 表示匹配任意个 a-z 的字母。

然后每个分支结尾都要加 $

最后结尾的 g 修饰符要删去。它会导致某些边界情况出错。

1 个赞

感谢