如何使用“if”语句查找以小写字母开头的字符串?
如何使用“if”语句查找以小写字母开头的字符串?
如果您想覆盖除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
toLowerCase
检查的情况是什么?例如,何时 != toUpperCase
不足以满足要求? - T.J. Crowder===
和 ! ==
来避免类型转换错误。这是一个难养成的习惯,但我认为非常有益。 - ChaosPandiontoUpperCase
和toLowerCase
返回字符串,不存在类型问题的机会。在某些情况下使用===
而不是==
是有益的,而在其他情况下则不是万能药。 - T.J. Crowdervar first = string.charAt(0);
if(first!=first.toUpperCase()){
first character is lower case
}
这似乎是正则表达式的一个合适应用。
var match = myString.match(/^[a-z]/);
if (match != null) {
// good match
}