检查第一个字符是否大写

Regex to check if the first character is uppercase

本文关键字:是否 字符 第一个 检查      更新时间:2023-09-26

我试图检查用户名的第一个字符是大写的,以下可以是字母或数字,最多20个字符长。有人能解释一下为什么我的语法是错误的吗?

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

第一个Z不是大写Z

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

为什么不能让可怜的用户自己选择用户名呢?你应该做的是把所有的大写字母都转换成小写。

"User Name".toLowerCase();

但如果你真的很邪恶,你应该把z变成Z:

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

我会这样做:

var firstChar = strToCheck.substring(0, 1);
if (firstChar == firstChar.toUpperCase()) {
    // it is capital :D
}

您的第一个字符需要是A-Z,而不是A-z

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

应该

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

你打错了,第一个z应该是大写-

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