Cita:
Iniciado por helacer
Buenas
Necesito que al recibir un string en una función esta me lo analice y me deje solo los caracteres que son numeros o letras sin ñ, sin espacion, sin caracteres raros,
No habia usado expresiones regualres..."o no desde ceros jaja" Hice esto no se si sea la mejor manera de hacerlo pero no e logrado hacerlo funcionar .
Código:
function FrmNomDirectorios (nuevoAlias)
{
for (var i=0; i<nuevoAlias.length; i++)
{
var caracter = cadena[i];
alert(caracter);
var NueCadena = "";
if (!/^([a-z0-9A-Z])*$/.test(caracter))
NueCadena = NueCadena+caracter;
}
}
Al pasar, y bastante offtopic.
Por convención casi de facto en JavaScript se suelen usar llaves arriba, y las funciones no capitalizadas (a menos que sean constructores). Programás en algun lenguaje de .NET?
Por otro lado, declarar variables dentro de un bloque no es correcto en el sentido de lo que representa (el scope está definido por la función y no por el bloque for).
Código Javascript
:
Ver originalfunction frmNomDirectorios(nuevoAlias) {
// Esto se llama "hoisting manual", si te interesa leer al respecto
// hay bastante en internet sobre variable hoisting
var caracteres, i, nuevaCadena;
for (i = 0; i < nuevoAlias.length; i++) {
caracter = cadena[i];
alert(caracter);
nuevaCadena = "";
// Es una buena practica utilizar las llaves _siempre_
if (!/^([a-z0-9A-Z])*$/.test(caracter)) {
// Podes simplificar la operacion a = a + b en a += b
nuevaCadena += caracter;
}
}
}