Separar em um input com espaços em branco a cada 2 números introduzidos

  • Autor Autor yeisler
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Y

yeisler

Alfa
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
hola me gustaria saber como puedo separar en un input los numeros introducidos con espacios en blanco, es decir quiero que cada 2 numeros introducidos se genere un espacio en blanco para introducir mas, si introduzco ejemplo 12 me genera espacio en blanco para seguir escribiendo si es cribo otros 2 quedaria algo asi 12 32, espero alguien me pueda ayudar gracias de antemano
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
[MENTION=174715]yeisler[/MENTION]

Inserir CODE, HTML ou PHP:
<input type="text" id="numeros">
<button type="button" id="limpiar">Limpiar</button>

<script>
var numeros = document.getElementById('numeros');
var limpiar = document.getElementById('limpiar');

numeros.onkeydown = function(e){
	if (isNaN(e.key)) return false;
};

numeros.onkeyup = function(){
	numeros.value = numeros.value
		.replace(/\s/g, '')
		.replace(/([0-9]{2})/g, '$1 ');
};

limpiar.onclick = function(){
	numeros.value = '';
	numeros.focus();
};
</script>
 
Hola amigo muchas gracias por el script, aunque me queda una duda y es ¿como puedo luego borrar cada numero sin tener que darle en el boton limpiar si no con el teclado?
 
[MENTION=174715]yeisler[/MENTION]
Se me ocurre que tendrias que usar "jQuery event.which()", La propiedad which() devuelve un número entero con el código unicode de la tecla.
Detectas la tecla pulsada y si es la que tu has pensado en usar usas la función "limpiar.onclick" que te ha puesto [MENTION=36180]hugo1[/MENTION]
 
Última edição:
Puedes hacerlo de esta manera

Inserir CODE, HTML ou PHP:
<input type="text" id="numeros"

<script>
// Campo numeros
var numeros = document.getElementById('numeros');

// Poner cursor en el campo numeros
numeros.focus();

numeros.onkeydown = function(e){
	// Permitir la tecla para borrar
	if (e.key == 'Backspace') return true;

	// Permitir flecha izquierda
	if (e.key == 'ArrowLeft') return true;

	// Permitir flecha derecha
	if (e.key == 'ArrowRight') return true;

	// Bloquear tecla de espacio
	if (e.key == ' ') return false;

	// Bloquear tecla si no es un numero
	if (isNaN(e.key)) return false;
};

numeros.onkeyup = function(){
	numeros.value = numeros.value
					// Borrar todos los espacios
					.replace(/\s/g, '')

					// Agregar un espacio cada dos numeros
					.replace(/([0-9]{2})/g, '$1 ')

					// Borrar espacio al final
					.trim();
};
</script>
 
Voltar
Topo