Foros del Web » Programando para Internet » Javascript »

como hago para incluirle y dejar que el guion(-) sea valido en esta expersion regular

Estas en el tema de como hago para incluirle y dejar que el guion(-) sea valido en esta expersion regular en el foro de Javascript en Foros del Web. Amigos, como hago para incluirle y dejar que el guion(-) sea valido en esta expersion regular Código: var solo_numeros = /\s*\D/g; gracias...
  #1 (permalink)  
Antiguo 19/02/2010, 17:15
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
como hago para incluirle y dejar que el guion(-) sea valido en esta expersion regular

Amigos,
como hago para incluirle y dejar que el guion(-) sea valido en esta expersion regular
Código:
var solo_numeros = /\s*\D/g;
gracias
  #2 (permalink)  
Antiguo 19/02/2010, 17:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

no comprendo bien la duda. reparafrasea la pregunta. no se si te refieres a incluir el caracter guion en la expresion. pues simplemente escribelo donde lo necesites.
Código:
var solo_numeros = /\s*-\D/g;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 19/02/2010, 17:53
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

mira no me funcionó, lo que quiero es que un campo de texto sea solo numerico pero que a su vez puedan agregarle guiones, con el (-) como me dijiste me deja poner letras y es lo que o quiero
  #4 (permalink)  
Antiguo 19/02/2010, 17:57
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

- http://www.forosdelweb.com/f13/permi...puntos-363553/
- http://www.tutores.org/?codigo=1023&...-de-formulario
- http://huevon.blogspot.com/2009/08/s...-input-de.html
__________________
HV Studio
Diseño y desarrollo web
  #5 (permalink)  
Antiguo 19/02/2010, 17:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

Hola, easy.

Si te fijas, la expresión que tú pusiste también acepta letras. La D debe ser minúscula para que sólo acepte dígitos (la mayúscula significa lo contrario)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 19/02/2010, 18:17
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

pues dependiendo como lo estes utilizando. como tal, la expresion dice "cantidad variable de espacio o ninguno seguido de cualquier caracter que no sea numerico. de modo que la expresion considera valida las siguientes cadenas.
Código:
"easy"; // la expresion detecta cada caracter por seperado porque es aplicado en ambito global "e", "a", "s", "y";
"   easy"; // evalua "   e", "a", "s", "y". notese los espacios del primer elemento;
"easy    nick"; // evalua ""e", "a", "s", "y", "   n", "i", "c", "k";
"easy 123"; // evalua "e", "a", "s", "y", " ";
en el ultimo ejemplo los numeros no los parea porque la expresion \D significa cualquier cosa que no sea numerico.

ahora bien, las expresiones las puedes usar de dos formas: para determinar si existen caracteres invalidos (mas o menos como lo estas haciendo), o para determinar si una cadena cumple con un patron.
  1. deteccion de caracter invalido. incluye los caracteres validos en un par de corchetes y al principio le indicas negacion.
    Código:
    var reg = /[^0-9\-]/;
    // fijate que el guion esta presedido por barra inversa. el guion dentro de los corchetes tiene otro significado;
    
    alert(reg.test("-8398-"));
    // muestra false pese a que existe dos guiones;
    
  2. deteccion de patron. escribe un patron de la forma en que el usuario debe escribir el contenido.
    Código:
    var reg = /^-?\d+$/;
    // significa, evaluar la cadena de principio a final comenzando opcionalmente con un guion seguido de uno o mas numeros;
    
    alert(reg.test("-8398-"));
    // muestra false porque no coincide con el patron de principio a final;
    
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 19/02/2010, 20:15
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

ok lo entendí y me quedo con esto
Código:
var solo_numeros = /[^0-9\-]/;
pero quisiera complicarme un poco más, que tal si quisiera que solamente el guion se produjera una sola vez

ejemplo 1111-1
  #8 (permalink)  
Antiguo 19/02/2010, 20:32
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

¿¡complicartelo!? ¿o queras decir complicarmelo a mi? bueno, de momento no se me ocurre nada. si se me ocurre algo, lo comparto. o sea, todo en una expresion no se me ocurre nada. pero para llegar a lo que quieres, podrias combinar mas expresiones u otras sentencias.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 19/02/2010, 20:33
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

jajajaja es que lo esty intentando, crei que con ? alfinal de la misma expresión lo lograria pero no, lo seguiré intentando también y si lo consigo te lo haré saber

Gracias y saludos,
  #10 (permalink)  
Antiguo 19/02/2010, 21:25
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

bajo mi nula experiencia no he conseguido llegar a ningun lado, he intentado todo y cuando logro hacer que se repita solo una vez es decir que el - no se duplique, los numeros no se validan y se pueden poner letras, en fin lo dejaré tal y como me lo planteo zerokilled, Gracias amigo por tu aporte
  #11 (permalink)  
Antiguo 20/02/2010, 07:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

Podría ser:
/^\d+-\d+$/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 20/02/2010, 11:24
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

Cita:
Iniciado por David Ver Mensaje
Podría ser:
/^\d+-\d+$/
para nada, me deja poner tanto letras como numeros y carateres especiales asi mismo me permite poner mas de un guión y los espacios que quiera.

yo pense que podria ser asi, pero me deja poner mas de un guion :(

/[^0-9\-{1}]/

saludos
__________________
$ayudar = 'ayudar es compartir';
echo $ayudar;
  #13 (permalink)  
Antiguo 20/02/2010, 20:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

No entiendo muy bien cómo estás haciendo las pruebas, porque a mí me funciona bien:
Código Javascript:
Ver original
  1. alert(/^\d+-?(\d+)?$/.test("texto")); // false
  2. alert(/^\d+-?(\d+)?$/.test("123")); // true
  3. alert(/^\d+-?(\d+)?$/.test("111-1")); // true
  4. alert(/^\d+-?(\d+)?$/.test("111-1-1")); // false
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 21/02/2010, 08:11
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: como hago para incluirle y dejar que el guion(-) sea valido en esta expers

las estoy haciendo asi:

Código:
<script language="javascript" type="text/javascript">
var solo_numeros = /^\d+-?(\d+)?$/;
</script>
Código HTML:
<form>
<input type="text" onkeyup="this.value=this.value.replace(solo_numeros, '')" />
</form> 
Saludos
__________________
$ayudar = 'ayudar es compartir';
echo $ayudar;

Etiquetas: dejar, regular
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 14:00.