关于javascript:regex检查第一个字符是否为大写

Regex to check if the first character is uppercase

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

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


你的第一个Z不是大写Z。

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


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

1
"User Name".toLowerCase();

但如果你真的是邪恶的,你应该把以东十一〔4〕改为以东十一〔4〕:

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


我会这样做:

1
2
3
4
5
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应该是大写的-

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