2010-09-28 139 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 
} 
相關問題