Mediante la siguiente función podemos detectar o impedir que cualquiera de los símbolos que hayamos especificado dentro del array SIM aparezcan seguidos en una cadena o contraseña.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
/*.*/ function checkSymbols(cadena:String):Boolean { var SIM:Array = new Array("@","$","%","&","/","(",")","=","?","¿","*","^","¨","!"); var CAD:Array = cadena.split(""); var lenS:int = SIM.length; var lenC:int = CAD.length; var flag:int = 0; for (var n:int=0; n<lenC; n++) { for (var s:int=0; s<lenS; s++) { if (CAD[n] == SIM[s]) { if (flag+1==n) { return false; } flag=n; break; }else if(s==lenS-1){ flag--; } } } return true; } trace(checkSymbols("hola@$mundo")); //devuelve false porque hay 2 símbolos juntos trace(checkSymbols("hola@mun$do")); //devuelve true porque no hay 2 símbolos seguidos trace(checkSymbols("@$%&;/=?¿)")); //devuelve false porque todos son símbolos o uno o varios símbolos son consecutivos trace(checkSymbols("@h$o%l&a/ =m?u¿ndo")); //devuelve true porque no hay ningún símbolo a continuación de otro |