我试图检查用户名的第一个字符是否为大写,以下内容可以是字母或数字,最多20个字符。有人可以解释为什么我的语法错了吗?
/^[A-z][a-z0-9_-]{3,19}$/
答案 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}$/