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.
- 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;
- 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;