2010-09-28 136 views
11

如何通过使用'if'语句找出字符串是否以小写字母开头?检查字符串是否以小写字母开头

+0

可能重复[JavaScript的 - 检查字符串中的任何小写字母(http://stackoverflow.com/questions/2830826/javascript-checking-for-any-lowercase-letters-in-a-字符串) – 2010-09-28 20:49:15

+3

不要忘记接受答案。它看起来像你正在使用的原始答案已经消失,所以你可以添加自己的答案与解决方案并接受它。它可能对其他流浪的人有用。 – lincolnk 2010-09-28 21:20:01

回答

21

如果要覆盖比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 
+2

你需要'toLowerCase'检查的情况是怎样的?例如,哪里'!= toUpperCase'不够? – 2010-09-28 20:57:49

+4

我强烈建议您使用'==='和'!=='来避免类型强制错误。这是一个艰难的习惯开始,但我认为这是非常有益的。 – ChaosPandion 2010-09-28 22:11:22

+0

+1非常聪明。 – fastcodejava 2010-09-28 22:25:53

-2

这看起来像是正则表达式的适当使用。

var match = myString.match(/^[a-z]/); 

if (match != null) { 
    // good match 
} 
+2

这是一个非常以英语为中心的观点。 “à”不是小写吗? – 2010-09-28 21:06:22

+0

你是对的,我认为它适用于这种情况。它不适合国际使用。我投票赞成丹尼尔的回答,因为它比我更有用。 – lincolnk 2010-09-28 21:18:25

5

似乎如果一个字符不等于它的大写状态它是小写。

var first = string.charAt(0); 
if(first!=first.toUpperCase()){ 
    first character is lower case 
} 
相关问题