2010-09-28 22 views
11

¿Cómo puedo averiguar si una cadena comienza con una letra minúscula usando una instrucción 'if'?Verificar si una cadena comienza con una letra minúscula

+0

posible duplicado de [Javascript - la comprobación de cualquier letras minúsculas en un string] (http://stackoverflow.com/questions/2830826/javascript-checking-for-any-lowercase-letters-in-a- cadena) –

+3

no se olvide de aceptar una respuesta. Parece que la respuesta original que está utilizando se ha ido, por lo que puede agregar su propia respuesta con la solución y aceptarla. puede ser útil para otras personas que deambulan. – lincolnk

Respuesta

21

Si se quiere cubrir más de a-z, se puede usar algo como:

var first = string.charAt(0); 
if (first === first.toLowerCase() && first !== first.toUpperCase()) 
{ 
    // first character is a lowercase letter 
} 

Se necesitan tanto los cheques porque hay caracteres (tales como números) que no son ni mayúsculas o minúsculas. Por ejemplo:

"1" === "1".toLowerCase() //=> true 
"1" === "1".toLowerCase() && "1" !== "1".toUpperCase() //=> true && false => false 
"é" === "é".toLowerCase() && "é" !== "é".toUpperCase() //=> true && true => true 
+2

¿Cuál es el caso donde necesita la verificación 'toLowerCase'? Por ejemplo, donde '! = ToUpperCase' no es suficiente? –

+4

Le recomiendo que use '===' y '! ==' para evitar errores de tipo de coerción. Es un hábito difícil de comenzar, pero creo que es muy beneficioso. – ChaosPandion

+0

+1 muy inteligente. – fastcodejava

-2

Esto parece un uso apropiado de expresiones regulares.

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

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

Esa es una visión del problema extremadamente centrada en el inglés. ¿"À" no es minúscula? –

+0

tienes razón, y creo que funcionaría para ese caso. No sería adecuado para uso internacional. Voté por la respuesta de Daniel, ya que es más útil que la mía. – lincolnk

5

Parece que si un carácter no es igual a su estado en mayúscula es minúscula.

var first = string.charAt(0); 
if(first!=first.toUpperCase()){ 
    first character is lower case 
} 
Cuestiones relacionadas