Las expresiones regulares son bastante útiles en estos casos en los que necesitas manipular y validar cadenas. Para comprobar si una regexp coincide con una cadena puedes usar match como indica
@laratik, pero te recomiendo que uses
test. La diferencia es simple, match devuelve un array con las coincidencias encontradas y test devuelve un booleano. Aunque no devuelve un booleano, match devuelve un array (o null si no se encontraron coincidencias) y JS lo autoconvierte en true/false. Aparte de que es más lógico, test utiliza menos recursos. En cuanto a lo de isNaN, esto devuelve un booleano dependiendo de si un valor es "relativamente parecido" a un número, es decir, si JS puede convertirlo en un número. Sin embargo, esta solución no es del todo efectiva, puesto que:
Cita: isNaN('abc'); // true
isNaN('a1b2'); // true
En los dos casos devuelve lo mismo, lo que significa que a no ser que la cadena esté compuesta exclusivamente por números lo validará.
Saludos (: