Javascript 使用正则表达式验证用户名
用户名中唯一的数字必须在末尾。最后可以有零个或多个Javascript 使用正则表达式验证用户名,javascript,regex,Javascript,Regex,用户名中唯一的数字必须在末尾。最后可以有零个或多个 用户名字母可以是小写和大写 用户名必须至少有两个字符长。两个字母的用户名只能使用字母字符 我正在尝试这个,但我被拖延了/\d+$\w+/gi /^[a-z]{2,}\d*$/i是: ^ : the begining [a-z] : a character (a to z), you can add as many allowed characters as you want {2,} : at least 2 of them \d*
/^[a-z]{2,}\d*$/i
是:
^ : the begining
[a-z] : a character (a to z), you can add as many allowed characters as you want
{2,} : at least 2 of them
\d* : 0 or more digits
$ : the end
i : ignore case sensetivity (both lowercases and uppercases are allowed)
具有字符和数字且长度至少为2个字符的用户名
/^[a-zA-Z]{2,}\d*$/i
测试结果:
UserNam9 = pass
9username = fail
Userna99 = pass
usernameeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee = pass
Us = pass
U = fail
如果开头有一个字母,后面跟着两个或更多数字,您就错过了一些案例
U99 = fail
d345 = fail
我的解决方案也通过了以下测试:
/^[a-z]{2,}\d*$|(?=\w{3,})^[a-z]{1,}\d+$/i
使用正向前瞻,我确保在第二种情况下至少有3个字母数字字符。简化版的
/^[a-z]{2,}\d*$|(?=\w{3,})^[a-z]{1,}\d+$/I
:
/^\D(\d{2,}|\D+)\d*$/i
代码说明:
^
-开始输入\D
-第一个字符是字母\d{2,}
-以两个或多个数字结尾|
-或\D+
-下一个有一个或多个字母\d*
-以零或多个数字结尾$
-输入结束i
-忽略输入的大小写这是我的答案,它通过了所有的测试:
/^[a-z][a-z]+\d*$|^[a-z]\d{2,}$/i
- 第一部分:2个字母(或更多)和零个或更多数字
- 或
- 第二部分:1个字母和2个或更多数字
[a-zA-Z]
是不必要的,不是错的,而是不必要的。但其余的都是对的。。。
/^[a-z][a-z]+\d*$|^[a-z]\d{2,}$/i