Foros del Web » Programando para Internet » Javascript »

remplazar caracteres

Estas en el tema de remplazar caracteres en el foro de Javascript en Foros del Web. Hola: Como puedo realizar que al ingresar determinados caracteres, lo remplaze por otro, ej: Código PHP: 1 //texto del elemento ... "123456??1245465?????46548?" 2 //texto del elemento ... "1234&&=)((67766548?" ... var  txt  =  document ...
  #1 (permalink)  
Antiguo 10/12/2009, 11:48
 
Fecha de Ingreso: abril-2006
Mensajes: 240
Antigüedad: 18 años
Puntos: 1
remplazar caracteres

Hola:
Como puedo realizar que al ingresar determinados caracteres, lo remplaze por otro,
ej:
Código PHP:

1
//texto del elemento ... "123456??1245465?????46548?"
2//texto del elemento ... "1234&&=)((67766548?"
...
var 
txt document.getElementById('textarea').value.replace('?','?'); 
este me devuelve solo la primera coincidencia, pero que pasa si hay mas de esos caracteres??
o si vienen otrso caracteres ej : &, =, (, $ etc
de antemanos gracias
  #2 (permalink)  
Antiguo 10/12/2009, 11:51
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: remplazar caracteres

tienes que crear una expresion regular y que se aplique de forma global. dentro de esa expresion tienes que definir todos los caracteres que quieres reemplazar. sin embargo, no comprendo bien por cuales valores deseas reemplazarlos, o si todos van a tener el mismo valor.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 10/12/2009, 12:03
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: remplazar caracteres

Código HTML:
function replace(string){

    //y todos los que mas te gusten
    var feos=["#","/","%","$","&","?","=","!"];

        if(string.length>0){
        
            for(vari=0;i<string.length;i++){
                if(string[i]==feos[i]){
                
                    alert("Se encontro un caracter invalido");
                    
                    return false;
                
                }else{
                
                    return true;
                }
            
            }
        
        }
}
  #4 (permalink)  
Antiguo 10/12/2009, 13:01
 
Fecha de Ingreso: abril-2006
Mensajes: 240
Antigüedad: 18 años
Puntos: 1
Respuesta: remplazar caracteres

Cita:
Iniciado por zerokilled Ver Mensaje
tienes que crear una expresion regular y que se aplique de forma global. dentro de esa expresion tienes que definir todos los caracteres que quieres reemplazar. sin embargo, no comprendo bien por cuales valores deseas reemplazarlos, o si todos van a tener el mismo valor.
por ejemplo

si es ? remplazar por &#63 (valores ascii), esu
  #5 (permalink)  
Antiguo 10/12/2009, 13:24
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: remplazar caracteres

pues necesitas pasar una funcion anonima como argumento en la invocacion de replace. esta funcion anonima capturará lo que la expresion regular haya pareado. en la funcion haces las operaciones necesarias como buscar el charcode de la letra y devolver ese valor junto con el string "&#".
Código:
replace(/[aqui dentro van los caracteres que quieres buscar]/g, function(match){
return "&#" + match.charCodeAt(0) + ";";
})
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:08.