需要检索数据库中的所有用户名。 以下是用户在创建用户名时必须遵守的一些简单规则。
用户名只能是数字字母字符。
用户名中的数字必须在最后。 数字可以有零个或多个。 用户名不能以数字开头。
用户名字母可以是小写字母和大写字母。
用户名长度必须至少为两个字符。 两位用户名只能使用字母。
分析:
根据题目,将用户名分为2种情形:
要么 字母+字母(≥1个)+数字(0或多个) ; 要么 字母+数字(≥2个),
这样就“提取公因式”得到: 字母 ( 字母(≥1个)+数字(0或多个) | 数字(≥2个) )
可得到如下表达式:
let username = "JackOfAllTrades";
let userCheck = /^[a-z]([a-z]+[0-9]*|[0-9][0-9]+)$/i; // 修改这一行
let result = userCheck.test(username);
需要满足的测试项:
你的正则表达式应该匹配字符串
JACK
你的正则表达式不应匹配字符串
J
你的正则表达式应该匹配字符串
Jo
你的正则表达式应该匹配字符串
Oceans11
你的正则表达式应该匹配字符串
RegexGuru
你的正则表达式不应匹配字符串
007
你的正则表达式不应匹配字符串
9
你的正则表达式不应匹配字符串
A1
你的正则表达式不应匹配字符串
BadUs3rnam3
你的正则表达式应该匹配字符串
Z97
你的正则表达式不应匹配字符串
c57bT3
你的正则表达式应该匹配字符串
AB1
你的正则表达式不应匹配字符串
J%4