Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/02/2010, 18:17
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
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.