elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] [Pregunta]: Primer letra de un input en mayuscula (javascript)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] [Pregunta]: Primer letra de un input en mayuscula (javascript)  (Leído 492 veces)
MiguelCanellas


Desconectado Desconectado

Mensajes: 596



Ver Perfil
[Resuelto] [Pregunta]: Primer letra de un input en mayuscula (javascript)
« en: 27 Septiembre 2019, 16:00 »

Buenos días,
estoy haciendo un input donde se guardará el nombre de una persona y estoy teniendo un problemita, quiero que la primer letra que se ingrese en un input se transforme en mayúscula (ya se que esto es puede hacer luego del lado del servidor con php) pero para mejorar un poquito frontend se me ocurrió hacerlo de esta forma.

Código
  1.        form_registry.reg_name.addEventListener('keyup', function()
  2.     {
  3.     form_registry.reg_name.value = String(form_registry.reg_name.value).replace(/[^a-zA-ZñÑáéíóúÁÉÍÓÚ]+/g, '');
  4.                 form_registry.reg_name.value = form_registry.reg_name.value.substring(0, 1).toUpperCase();
  5.     });
  6.  

Bueno la primer linea donde se usan las expresiones regulares simplemente es que si el usuario escribe una letra, símbolo, o algo que no sean letras se va a borrar... luego la segunda  dice que la primer letra la transforme en una mayúscula pero no entiendo que puede estar pasando ya que hay como un problema de "compatibilidad" entre las dos lineas...


« Última modificación: 29 Septiembre 2019, 03:29 por #!drvy » En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: [Pregunta]: Primer letra de un input en mayuscula (javascript)
« Respuesta #1 en: 27 Septiembre 2019, 18:56 »

no es necesario irse a regex para esto

Código:
var string = .... //obtener del input
string.charAt(0).toUpperCase() + string.slice(1);


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MiguelCanellas


Desconectado Desconectado

Mensajes: 596



Ver Perfil
Re: [Pregunta]: Primer letra de un input en mayuscula (javascript)
« Respuesta #2 en: 27 Septiembre 2019, 19:37 »

El regex lo uso para la validaciónd del lado del cliente de x nombre que se ingrese, para que no me escriban samuel93 sino que sea samuel, y con esto que quiero  hacer sea Samuel.
Por supuesto no sólo estoy haciendo validaciones del lado del cliente sino que también del servidor. Entonces me da este problema de compatibilidad entre la validación y sistemita de las mayusculas.

Intente cambiando de orden las dos líneas de código (mayúsculas arriba y regex abajo, y viceversa)

Si esto no tiene solución, les agradecería si me podrían decir porque ocurre esto. Porque desde donde yo lo veo no hay razón para que esto no funcione.
« Última modificación: 27 Septiembre 2019, 19:40 por MiguelCanellas » En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: [Pregunta]: Primer letra de un input en mayuscula (javascript)
« Respuesta #3 en: 27 Septiembre 2019, 21:37 »

Citar
El regex lo uso para la validaciónd del lado del cliente de x nombre que se ingrese, para que no me escriban samuel93 sino que sea samuel, y con esto que quiero  hacer sea Samuel.

Código
  1. var string = .... //obtener del input
  2. string  = cadena.replace(/([^a-z\s]+)/gi, ''); //
  3. strin.charAt(0).toUpperCase() + string .slice(1);


[^a-z\s]+ -> todo lo que no sea de la a a la z (ascii), ni espacio
/gi global, insensitivo a mayusculas
« Última modificación: 27 Septiembre 2019, 21:39 por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MiguelCanellas


Desconectado Desconectado

Mensajes: 596



Ver Perfil
Re: [Pregunta]: Primer letra de un input en mayuscula (javascript)
« Respuesta #4 en: 27 Septiembre 2019, 22:23 »

Hola, engelx!
Intente de varías formas con tu código pero no pasaba nada (no daba errores) pero tampoco funcionaba, no hacia nada (en cuanto a mayúscula me refiero, después la expresión regular funcionaba)...

De igual forma pude resolverlo, esto fue lo que hice... (saque la base del código de un blog y lo simplifique)

Código
  1. form_registry.reg_name.value = String(form_registry.reg_name.value).replace(/[^a-zA-ZñÑáéíóúÁÉÍÓÚ]+/g, '');
  2.            form_registry.reg_name.value = form_registry.reg_name.value.substring(0, 1).toUpperCase() + form_registry.reg_name.value.substring(1).toLowerCase();
  3.  

¡Ya está resuelto! ¡Muchas gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines