Comunidad de diseño web y desarrollo en internet online

Cambiar , por .

Citar            
MensajeEscrito el 26 Oct 2015 09:50 pm
Hola. ¿alguien sabe como capturar cuando se escribe una coma y cambiarlo por un punto?

ósea que al teclear una , me escriba un .

muchas gracias por vuestra ayuda :)

Por Killpe

6 de clabLevel



 

safari
Citar            
MensajeEscrito el 27 Oct 2015 12:16 pm
Puedes hacerlo así, en el evento onBlur...
Código Javascript :
function CambiarComaPorPunto(ele) {
ele.value = ele.value.replace(/,/g, ".");
}

Código HTML :
<input type="text" name="test" id="test" value="" onBlur="CambiarComaPorPunto(this);"/>

Por DriverOp

Claber

2510 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Oct 2015 06:19 pm

DriverOp escribió:

Puedes hacerlo así, en el evento onBlur...
Código Javascript :
function CambiarComaPorPunto(ele) {
ele.value = ele.value.replace(/,/g, ".");
}

Código HTML :
<input type="text" name="test" id="test" value="" onBlur="CambiarComaPorPunto(this);"/>


Muchísimas gracias DriverOp :love: con las comillas dobes no me iva, pero cambiándolas por comillas simples perfectamente.

estoy intentando pulirla un poco y meterla dentro de un comprobador que tengo para que solo acepte números los input y me gustaría meterla ahi, pero no se por que si la meto ahi no va.

el código que tengo es este:

Código Javascript :

function Comprobarnum(e) {
   e.value = e.value.replace(/,/g,'.');
    tecla = (document.all) ? e.keyCode : e.which; 
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar) 
   patron =/^-?\d*\.?\d*\,?\d*$/; // Solo acepta numeros  
    te = String.fromCharCode(tecla);  
    return patron.test(te);  
}  


y las llamadas las hago con onkeypress="return Comprobarnum(event)"

Por Killpe

6 de clabLevel



 

safari
Citar            
MensajeEscrito el 27 Oct 2015 06:20 pm
No me deja editar iba es con b de burro XD

Por Killpe

6 de clabLevel



 

safari
Citar            
MensajeEscrito el 28 Oct 2015 12:17 pm
Mira, esto te lo digo por experiencia propia.

Primero que nada, usa el input tipo "number" para ingresar números, la gran mayoría de los navegadores lo entienden y es muy útil si el sitio que estás haciendo debe verse en tablets y móviles.

Si realmente quieres validar que el dato ingresado por el visitante es un número, hazlo DESPUÉS de que lo haya hecho y no mientras escribe el dato en sí. Créeme, te ahorrará muchos dolores de cabeza.

Por otro lado el evento onKeypress se ejecuta después de que la tecla fue soltada y el caracter ya se imprimió en la pantalla. Si es por eso, es mejor usar el evento onKeyup que se ejecuta antes de que el caracter sea agregado al input.

En mi caso, para validar que una cadena sea un número uso un par de prototipos que agrego al objeto string.

Código Javascript :

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, "");    };
String.prototype.replaceComma = function() { return this.replace(/,/g, ".");    };
String.prototype.isint = function() {
   var regint = /^[\+|\-]*\d+$/;
   return regint.test(this.trim());
};
String.prototype.isfloat = function() {
   var regfloat = /^[\+|\-]*\d+[\.\d+]*$/;
   return regfloat.test(this.trim().replaceComma());
};

trim() elimina los espacios por delante y por detrás de la cadena.
replaceComma() reemplaza la coma por el punto.
isint() devuelve true o false de acuerdo a si la cadena es un número entero positivo o negativo sin límite de tamaño.
isfloat() es lo mismo pero para tipos de números flotantes, no importa si el visitante escribió el punto o la coma como separador de decimales.
Lo que no hacen estas últimas funciones es devolverte un tipo entero o flotante, pero te sirve para estar seguro que la cadena de texto se puede convertir a cualquiera de los dos tipos.

Se usa así:

Código Javascript :

var valor = document.getElementById('id_del_input').value;
if (valor.isint() != true) {
   alert('El valor debe ser un número');
} else {
  var entero = parseInt(valor);
}

Saludos.

Por DriverOp

Claber

2510 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.