FCC-JS学习笔记1
限制可能的用户名
原题如下:
用户名在互联网上随处可见。 它们是用户在自己喜欢的网站上的唯一身份。
需要检索数据库中的所有用户名。 以下是用户在创建用户名时必须遵守的一些简单规则。
用户名可能是数字字母字符。
用户名中的数字必须在最后。 数字可以有零个或多个。 用户名不能以数字开头。
用户名字母可以是小写字母和大写字母。
用户名长度必须至少为两个字符。 两位用户名只能使用字母。
let username = "JackOfAllTrades";
let userCheck = /change/; // 修改这一行
let result = userCheck.test(username);
官方解析
//第一种方法
let username = "JackOfAllTrades";
let userCheck = /^[a-z][a-z]+\d*$|^[a-z]\d\d+$/i;
let result = userCheck.test(username);
//第二种方法
let username = "JackOfAllTrades";
const userCheck = /^[a-z]([0-9]{2,}|[a-z]+\d*)$/i
let result = userCheck.test(username);
第一种方法将问题拆开为两个,第一部分解决至少开头两个字母的问题,第二部分是考虑到开头只有一个字母同时有三个元素以上的问题。
第二种方法思路类似,也是肢解成为两种情况考虑。合并了第一项的内容,然后数字部分采用[0-9]
代替了\d
。
原题链接如下:
link