Quiero crear una función que compara una contraseña contra algunos comúnmente idiotas, de manera que el usuario no puede elegir uno de ellos, pero la función que he escrito hasta ahora, cuando se ponen entre la escritura etiquetas, no hace que javascript sea reconocido (por Firebug). Supongo que la creación de la matriz es la culpa.creando la matriz de expresiones regulares Javascript
function unacceptable(pwd){
var unforgivable = [
/password/gi, /*g matches any occurance of sequence, i checks case insensitive*/
/12345678/g,
/8675309/g,
/[a-z]{8,}/gi,
/qwerty/gi,
/asdfg/gi,
/qazwsx/gi,
/zxcvb/gi,
/letmein/gi,
/trustno1/gi,
/omnicloud/gi,
/monkey/gi];
for (var i=0; i<unforgivable.length; i++)
if(pwd.match(unforgivable[i])) return true;
return false;
}
Use [] para crear matrices, pwd.match (ptrn) para hacer corresponder una expresión regular, su bucle for falta(), ptrn en su ciclo sería el índice de matriz, no el valor, y probablemente debería cambiar a una configuración normal de lazo o añadir una hasOwnProperty comprobar – shesek
Y crear la matriz expresiones regulares fuera de su función en lugar de volver a crear cada vez que se invoca la función. Además, la bandera g es bastante inútil aquí. – shesek
@shesek que fija el lazo pero dice partido no es un método – Chris