¿Es posible en Javascript averiguar si la primera letra de una palabra es una letra mayúscula?Compruebe si la primera letra de la palabra es una letra mayúscula
Respuesta
var word = "Someword";
console.log(word[0] === word[0].toUpperCase());
o
var word = "Someword";
console.log(/[A-Z]/.test(word[0]));
o
var word = "Someword";
console.log(/^[A-Z]/.test(word));
Ver toUpperCase()
y test()
Sí.
var str = "Hello";
if(str[0].toUpperCase() == str[0])
{
window.alert('First character is upper case.');
}
Recomendado ya que parece funcionar, con una pequeña cantidad de pruebas en Chrome, para caracteres Unicode como "È" (E con una tumba) y "ζ" (zeta no de capital). –
var string1 = "this is a string";
var string2 = "This is a string";
if(string1[0] == string1[0].toUpperCase())
alert('is upper case');
else
alert('is not upper case');
if(string2[0] == string2[0].toUpperCase())
alert('is upper case');
else
alert('is not upper case');
Puede hacerlo de varias maneras:
var myWord = "Hello";
// with string functions
if (myWord.charAt(0) === myWord.charAt(0).toUpperCase()) { /* is upper */ }
// or for newer browsers that support array-style access to string characters
if (myWord[0] === myWord[0].toUpperCase()) { /* is upper */ }
// with regex - may not be appropriate for non-English uppercase
if (/^[A-Z]/.test(myWord) { /* is upper */ }
Tenga en cuenta que el acceso al estilo de matriz a personajes como myWord[0]
es una característica de ECMAScript 5 y no admite en los navegadores antiguos, por lo que (por ahora) probablemente recomendaría el método .charAt().
Si lo que necesita hacer esta prueba muchas cosas que usted puede hacer una pequeña función:
function firstLetterIsUpper(str) {
var f = str.charAt(0); // or str[0] if not supporting older browsers
return f.toUpperCase() === f;
}
if (firstLetterIsUpper(myWord)) { /* do something */ }
Las otras respuestas en esta página están muy bien para las cadenas que se sabe que sólo contenga letras no acentuadas A-Z. Si no puede garantizar esto (por ejemplo, la entrada del usuario), pueden dar resultados inesperados: falsos positivos para iniciales no capitalizables como "1940" o "中文", o falsos negativos para iniciales de capital acentuadas o no romanas como "Łukasz" o " Александра ".
Esta variante devuelve verdadero si el inicial es cualquier letra capital y solamente si se trata de una letra mayúscula:
function initialIsCapital(word){
return word[0] !== word[0].toLowerCase();
}
Uso .charAt(0)
en lugar de [0]
if you need IE8 support. Cuál is faster varies between browsers.
Esto evita dos posibles dificultades con las otras respuestas:
expresiones regulares utilizando
[A-Z]
no se adapte a acentuados y otros similares no AZ en mayúsculas las letras como en Åland (islas escandinavos) y Łukasz (nombre común en polaco), incluidas letras mayúsculas en caracteres no latinos como cirílico o griego (por ejemplo, Александра).El método que utiliza
word[0] === word[0].toUpperCase()
, volverá cierto en las palabras que empiezan con no letras, tales como , 17a, 123reg (nombre de la empresa), abreviaturas como 2mrw, o algunas palabras algunos idiomas africanos, como ! xūún o ǂǐ-sì. También tratará cualquier entrada de un alfabeto que no tenga letras mayúsculas como letras mayúsculas (p.中文).
Desde este enfoque arbitrario de entrada de seguridad es tan simple y no menos legible que las alternativas, es probablemente mejor usar esto incluso si usted no anticipa tales excepciones.
Aquí es una prueba rápida:
function a(word){
return word[0] !== word[0].toLowerCase();
}
function b(word){
return word[0] === word[0].toUpperCase();
}
function c(word){
return /^[A-Z]/.test(word);
}
function test(word, answer){
console.log('Should be '+answer+':', a(word), b(word), c(word), '-------', word);
}
test('Łukasz', true); // regex test fails, returns false
test('Александра', true); // regex test fails, returns false
test('1940s', false); // .toUpperCase() test fails, returns true
test('中文', false); // .toUpperCase() test fails, returns true
test('ß', false); // All pass on German "sharp S" that has no uppercase
test('Z̢̜̘͇̹̭a͎͚͔͕̩̬̭͈͞l̩̱̼̤̣g̲̪̱̼̘̜͟ợ̮̱͎̗̕ͅͅ', true); // All pass. Phew, Zalgo not awakened
let word = 'Someword';
console.log(word.match(new RegExp(/^[A-Z]/)) !== null);
Esto podría responder la pregunta, pero también proporcione una breve explicación, qué hace su código y por qué soluciona el problema inicial. – user1438038
Para Inglés letras únicas:
'A' => 65
'a' => 97
Significado, cada número entre [65, 97) es una letra mayúscula:
function startsWithCapitalLetter(word) {
return word.charCodeAt(0) >= 65 && word.charCodeAt(0) < 97;
}
- 1. mayúscula la primera letra de cada palabra
- 2. Primera letra mayúscula para EditText
- 3. Poner en mayúscula la primera letra. MySQL
- 4. palabra dividida por la letra mayúscula
- 5. ¿Cómo se escribe en mayúscula la primera letra de la primera palabra en una oración?
- 6. strftime hacer la primera letra mayúscula (mayúscula) en PHP
- 7. Poner en mayúscula la primera letra de las oraciones CSS
- 8. Comprobando si la primera letra de la cadena está en mayúscula
- 9. Convertir la primera letra en cadena en mayúscula
- 10. C#: nombres de métodos con la primera letra en mayúscula?
- 11. Capitalizar/Poner en mayúscula la primera letra de cada palabra en una cadena en Matlab?
- 12. ¿Cómo puedo escribir en mayúscula la primera letra de cada palabra en una cadena en Perl?
- 13. Devolver la primera letra de NSString en mayúscula
- 14. ¿Cómo hacer la primera letra en mayúscula en un UILabel?
- 15. Capitaliza automáticamente la primera letra de la primera palabra en una nueva oración en LaTeX
- 16. La primera letra del nombre del archivo Git mayúscula
- 17. XSL - ¿Cómo se escribe en mayúscula la primera letra
- 18. ¿Cómo se muestra la primera letra en mayúscula?
- 19. Poner en mayúscula la primera letra en ruby
- 20. Obtener la posición de la primera letra mayúscula en una cadena utilizando php
- 21. python capitalizar la primera letra solo
- 22. Convierta toda la primera letra a mayúscula, descanse más abajo para cada palabra
- 23. Cambiar el valor de la primera letra de cada palabra
- 24. ¿Cómo paso a la siguiente letra mayúscula?
- 25. Compruebe si el carácter es una letra en Delphi (Unicode)
- 26. ¿Primera letra del mayúscula de Javascript/jQuery con algunas excepciones?
- 27. ¿Cómo puedo escribir en mayúscula la primera letra de una entrada?
- 28. Cómo mayúscula en la primera letra después de un guión, es decir, Adam Smith-Jones
- 29. Display primera letra única
- 30. La primera letra es el número en la cadena
Marque aquí http://stackoverflow.com/questions/1027224/how-can-i-test-if-a-letter-in-a-string-is-uppercase-or-lowercase-using- javascrip – Cyclonecode
EDITAR: Sí. Pruebe '/^[AZ] /. Test (phrase)' ([here] (http://jsfiddle.net/uAwQL/1/)) –
@DavidRodrigues trampa de pozo potencial allí, '[AZ]' no coincide letras mayúsculas acentuadas o no ASCII, vea la nueva respuesta http://stackoverflow.com/a/39292247/568458 – user568458