正则表达式检查第一个字符是否为大写

Sam*_*Sam 13 javascript regex

我正在尝试检查用户名的第一个字符是否为大写,以下内容可以是字母或数字,最多20个字符.有人可以解释为什么我的语法错了吗?

/^[A-z][a-z0-9_-]{3,19}$/
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 27

你的第一个Z不是资本Z.

/^[A-Z][a-z0-9_-]{3,19}$/
Run Code Online (Sandbox Code Playgroud)


Mat*_*haq 9

为什么你不能让穷人用户选择自己的用户名?你应该做的是将所有大写字母转换为小写.

"User Name".toLowerCase();
Run Code Online (Sandbox Code Playgroud)

但是,如果你是真正的邪恶的,你应该更改zZ:

/^[A-Z][A-Za-z0-9_-]{3,19}$/
Run Code Online (Sandbox Code Playgroud)

  • 我想说这是我最后一次投票的完美答案:) (2认同)

Bro*_*yte 6

我会这样做:

var firstChar = strToCheck.substring(0, 1);

if (firstChar == firstChar.toUpperCase()) {
    // it is capital :D
}
Run Code Online (Sandbox Code Playgroud)


Ada*_*kis 5

你的第一个角色需要,而A-Z不是A-z

所以

/^[A-z][a-z0-9_-]{3,19}$/

应该

/^[A-Z][a-z0-9_-]{3,19}$/