Ответ 1
Если вы хотите охватить больше, чем a-z, вы можете использовать что-то вроде:
var first = string.charAt(0);
if (first === first.toLowerCase() && first !== first.toUpperCase())
{
// first character is a lowercase letter
}
Обе проверки необходимы, потому что есть символы (например, числа), которые не являются прописными или строчными. Например:
"1" === "1".toLowerCase() //=> true
"1" === "1".toLowerCase() && "1" !== "1".toUpperCase() //=> true && false => false
"é" === "é".toLowerCase() && "é" !== "é".toUpperCase() //=> true && true => true