Primero: esto [A-Za-z
0-12] me temo que no significa lo que crees que significa. "11" no es un dígito.
Segundo, la forma de "meter una variable", es construir primero la expresión regular con el objeto RegExp:
Código javascript
:
Ver originalvar patron = new RegExp("^[A-Za-z0-9]{" + numero + "}$");
if ( patron.test(texto) ) {
// ...