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

时间:2011-11-25 21:53:46

标签: javascript regex

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

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

5 个答案:

答案 0 :(得分:26)

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

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

答案 1 :(得分:8)

为什么你不能让穷人用户选择自己的用户名?你应该做的是convert all caps to lowercase

"User Name".toLowerCase();

但如果你真的是邪恶的,你应该将z更改为Z

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

答案 2 :(得分:6)

我会这样做:

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

if (firstChar == firstChar.toUpperCase()) {
    // it is capital :D
}

答案 3 :(得分:5)

您的第一个角色必须是A-Z,而不是A-z

所以

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

应该是

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

答案 4 :(得分:0)

你有一个错字,第一个z应该是一个大写 -

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