Hola:
Al parecer está todo bien (siempre que exista la función
rand(), se genere el número antes de ser utilizado...). Pero prueba a pasar el valor de la caja de texto por un
parseInt() para compararla con el número con un operador estricto (
===), es sólo un formalismo.
Tienes que meter alerts, o contarnos qué error te da o qué ocurre, hasta donde llega tu script, qué no se ejecuta... diagnosticar un poco más.
PD: No sé si tiene sentido hacer un
captcha con javascript. ¿No se supone que es para que una máquina no sea capaz de saber qué tiene que escribir? Si desactivamos javascript ¿qué ocurre? Javascript no ofrece ninguna seguridad en ese campo, lo único que logras es molestar al usuario (por lo menos, eso opino yo).
Un saludo.