我正在尝试验证密码,如果可以的话,它将仅在数组正则表达式中保留一次。在mozilla浏览器中运行脚本时,出现以下错误:'seguridadPass [i]。测试不是功能”。我还想知道如何删除数组“ comprobaciones”(那些尚未使用的正则表达式)。谢谢您的帮助。

CODE

JAVSCRIPT

var compMay = /[A-ZÑ]/;
var compMin = /[a-zñ]/;
var compNum = /(?=.*\d)/;
var compCarEsp = /[!@#$%^&*(){}[\]<>¿¡?/|.:;_-]/;
var seguridadPass = [];
seguridadPass.push(compMin,compMay,compNum,compCarEsp);
comprobaciones = [];

$('#write').keyup(function(){

var pass = $(this).val();
if(pass!=''){
    for(i=0;i<seguridadPass.length;i++){
        if(seguridadPass[i].test(pass)){
            //alert(seguridadPass[i]);
            for(j=0;j<comprobaciones.length;j++){
                if(comprobaciones[j]!=seguridadPass[i]){
                    comprobaciones.push(seguridadPass[i]);
                }
            }
        }
    }
}
else{
    comprobaciones.splice(0,comprobaciones.length);
    //comprobaciones = [];
}
});

最佳答案

seguridadPass.push(compMin,compMay,compNum,compCarEsp,8);


8不是正则表达式。

关于javascript - javascript正则表达式-测试不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18985027/

10-13 03:16