Foros del Web » Programando para Internet » Javascript »

permitir espacios

Estas en el tema de permitir espacios en el foro de Javascript en Foros del Web. Hola gente tengo esta funcion: function validarInt(id, message) { elemento = document.getElementById(id); var re = /^(-)?[0-9]*$/; if (!re.test(elemento.value)) { alert(message); return false; } return true; ...
  #1 (permalink)  
Antiguo 10/06/2013, 14:10
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
permitir espacios

Hola gente tengo esta funcion:


function validarInt(id, message) {
elemento = document.getElementById(id);
var re = /^(-)?[0-9]*$/;
if (!re.test(elemento.value)) {
alert(message);
return false;
}
return true;
}

me gustaria que permita que se ingresen espacios gracias
  #2 (permalink)  
Antiguo 10/06/2013, 17:04
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: permitir espacios

Que es lo que quieres validar? Pon un ejemplo de los valores que se consideran validos y de los que no.
__________________
twitter: @imbuzu
  #3 (permalink)  
Antiguo 11/06/2013, 02:08
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: permitir espacios

1. Por favor, utiliza el marcado de js, ya que es complejo leerlo así.

2. Hacen falta más datos para saber qué quieres exactamente. Necesitarías modificar la expresión regular. Veo que la regexp cuadra cuando comienza (o no) con - y continúa o no con algún número indefinidamente. Si quieres que continúe con algún número o no o un espacio o no

[0-9]* -> un número 0 ó más veces
([0-9]| )* -> un número o un espacio 0 o más veces

Código Javascript:
Ver original
  1. var re = /^(-)?([0-9]| )*$/;

Eso haría cuadrar una combinación así

-001 32543 31

No tiene ningún misterio. Un saludo
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #4 (permalink)  
Antiguo 11/06/2013, 19:05
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: permitir espacios

Cita:
Iniciado por dontexplain Ver Mensaje
1. Por favor, utiliza el marcado de js, ya que es complejo leerlo así.

2. Hacen falta más datos para saber qué quieres exactamente. Necesitarías modificar la expresión regular. Veo que la regexp cuadra cuando comienza (o no) con - y continúa o no con algún número indefinidamente. Si quieres que continúe con algún número o no o un espacio o no

[0-9]* -> un número 0 ó más veces
([0-9]| )* -> un número o un espacio 0 o más veces

Código Javascript:
Ver original
  1. var re = /^(-)?([0-9]| )*$/;

Eso haría cuadrar una combinación así

-001 32543 31

No tiene ningún misterio. Un saludo

De hecho no necesitas los parentecis al rededor de la clase de caracteres, una expression regular mas eficiente seria esta:

Código Javascript:
Ver original
  1. var re = /^(-)?[0-9 ]*$/;

Es basicamente igual pero no crea grupos innecesarios. Puedes comparar las dos expressiones en regexpr.com y ver como el diagrama de la primera es mucho mas complejo.
__________________
twitter: @imbuzu

Etiquetas: espacios, funcion, permitir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:11.