2010-08-28 12 views
12

Estoy creando un script de verificación de formulario basado en navegador que comprueba si la entrada no tiene ningún carácter en mayúsculas de acuerdo con los estándares Unicode. Mi definición de un personaje en mayúsculas es un personaje que tiene un mapeo en minúsculas. Si un cierto carácter en la cadena de entrada no tiene una asignación en minúscula o mayúscula (como los caracteres chinos), entonces está bien (debe pasar mi validación).¿Javascript string.toLowerCase() sigue los estándares Unicode en caso de conversiones?

Estoy usando la codificación UTF-8.

tengo la intención de crear una función que tiene este aspecto:

function hasUpper(str){ 
    if(str != str.toLowerCase()){ 
    return True 
    } 
    else { 
    return False 
    } 
} 

¿Funcionará para mis necesidades?

Gracias!

+1

Tenga en cuenta que puede simplificar esa función para 'return str! = Str.toLowerCase()'. –

Respuesta

5

Sí, eso funcionará. A propósito, las palabras clave booleanas son true y false, minúsculas. :)

+1

I la misma veta la función se puede acortar a: función hasUpper (str) { return str! == str.toLowerCase(); } Bah, ningún formato en los comentarios :-( – HBP

+0

@Hans B PUFAL:. AsddYou puede formatear poniendo entre paréntesis con el personaje hacia atrás acento, que es la opción minúsculas en la tecla de tilde (~) – Robusto

+0

no neccesarily - im el símbolo # es la opción en minúsculas en mi teclado (Reino Unido). El símbolo de retroceso está sobre la tecla de tabulación. –

2

La pregunta respondida aquí parece indicar que ToLower y toUpper son compatibles con Unicode: Stack OverFlow

Y éste va en ella con más detalle (lo que indica que algunas asignaciones de conflicto con el mundo real): more Stack Overflow

Espero que esto ayude!

Cuestiones relacionadas