Pregunta: Pasar de minúsculas a mayúsculas (javascript)

Iniciado por Leguim, 9 Septiembre 2021, 10:29 AM

0 Miembros y 1 Visitante están viendo este tema.

Leguim

Hola, estoy teniendo problemas para pasar de minusculas a mayúsculas con javascript pero usando expresión regular.

Más que nada lo que me complica es .replace('x') porque nosé como hago que x sea la mayúscula de z letra.

engel lex

para cambio de minusculas a mayusculas lo correcto sería .upper()

sin embargo para tu caso parece que necesitas una condicion especial, sin embargo me parece que lo que está fallando es tu selector porque no conozco problemas similares al que mencionas

porfa puedes publicar un segmento de tu código para poder revisarlo
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.

Leguim

Hola, tengo esto:
Código (javascript) [Seleccionar]

$('#form_x').on('keyup', function(e)
{
      if($('input[name=input_x]').is(e.target))
      {
             if(Character_Writing(e.keyCode))
             {
                    form_x.input_x.value = form_x.input_x.value.toUpperCase();
                }
      }
});


De esta manera tengo un problema y es que si yo escribo en el input "mi texto" a medida que vaya escribiendo va a ir poniendo "MI TEXTO" lo cual eso sí es correcto. Pero imaginemos que yo me posiciono entre la i y el espacio y escribo una "s" que se transformará a "S" lo que pasa es que me arrojará a la ultima posición lo cual no lo veo muy bien.

Por ejemplo:
"MI TEXTO"
me posiciono entre i y espacio
"MI(mi posición) TEXTO"
escribo la s que será S
"MIS TEXTO(mi posición)"

pero la posición me quedó ahora al final, pensé que con una expresión regular esto ya no me pasaría.

MinusFour

No, eso no tiene nada que ver con una expresión regular. El cursor cambia independientemente si usas una expresión regular o no. Es el hecho de cambiar el valor del input el que cambia el cursor.

Simplemente debes volver a colocar el cursor en su posición original, lo haces actualizando los valores de selectionStart y selectionEnd (a pesar de que no es una selección).

Código (javascript) [Seleccionar]
$('#form_x').on('keyup', function(e)
{
      if($('input[name=input_x]').is(e.target))
      {
             if(Character_Writing(e.keyCode))
             {
                    let start =  form_x.input_x.selectionStart;
                    form_x.input_x.value = form_x.input_x.value.toUpperCase();
                    form_x.input_x.setSelectionRange(start, start);
                }
      }
});

[u]nsigned

Nenecesitas eso en mayusculas por temas de logica de negocio o solo a fines visuales?

si es lo segundo, yo lo haría con css
Código (css) [Seleccionar]

input[name="input_x"] {
   text-transform: uppercase;
}

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!