Escapar caracteres en JavaScript

15/Sep/2009 JavaScript , , 2 Comentarios

Lo más normal es que cuando estemos creando una página web capturemos datos del usuario. Cuando el usuario introduce datos tiene la capacidad, si no ponemos remedio, a que introduzca cualquier carácter. Y en este punto hay que tener un cierto cuidado, ya que el usuario puede introducir caracteres especiales, los cuales en un posterior tratamiento del texto nos pueden generar problemas. Entre ellos tenemos la barra invertida (\), la comilla simple ('), el ampersand (&),...

Cuando utilizamos Javascript estos caracteres tienes que aparecer escapados mediante la barra invertida. Así la cadena 'Hola Mundo' se representará como \'Hola Mundo\'.

  1.  
  2. var cadena = "\'Hola Mundo\'";
  3.  

Cuando estemos utilizando cadenas de caracteres es bueno que intentemos escapar los caracteres. Para ello nos podemos apoyar en las funciones escape() y unescape(). Para poder utilizarlas lo realizaremos de la siguiente forma:

  1.  
  2. var cadena1 = escape("'Hola Mundo'"); // El resultado es %27Hola%20Mundo%27
  3. var cadena2 = escape("20%5=0"); // El resultado es 20%255%3D0
  4.  

En este ejemplo vamos a coger un texto libre que nos introduzca el usuario y se lo vamos a escapar. Lo primero crear dos áreas de texto mediante textarea:

  1.  
  2. <form id="myform">
  3. <label for="texto">Escribe un texto:</label><br/>
  4. <textarea id="texto" rows="10" cols="30"></textarea>
  5. <br/>
  6. <label for="textoescapado">El texto escapado es:</label><br/>
  7. <textarea id="textoescapado" rows="10" cols="30"></textarea>
  8. <br/>
  9. <button onClick="escapar();return false;">Escapar el texto</button>
  10. </form>
  11.  

La función escapar, obtiene el texto de un área de texto, mediante getElementById() y lo vuelca en otra. Aplicando en medio el método escape().

  1.  
  2. function escapar(){
  3. document.getElementById("textoescapado").value = escape(document.getElementById('texto').value);
  4. }
  5.  

Vídeos sobre Javascript


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

2 comentarios en “Escapar caracteres en JavaScript”

Víctor Cuervo

Damian

Bueno lo que me pasa es que estoy trabajando con una valor string (str.innerHTML) que se trae cuando el usuario ingresa un término a buscar y el problema esta que si le pongo escape(str.innerHTML) hay algunos términos que vienen de str.innerHTML que no me los toma y estos son los que tienen la letra “ñ”, porque pasa esto?, los demás los toma todo.
Quiero creer que tampoco tomará los que tienen acentos.
Mi página anda bien, el texto muestra todo sin problema, los acentos y la letra ñ, pero solo me pasa en la busqueda y con el escape() de JavaScript.
Ahora en mi sitio le saque el escape() ya que no me trae los terminos que poseen ñ, pero lo necesito ya que con escape() puedo mostrar los terminos “AT&T”, T&L”, etc.
Espero su ayuda.

Víctor Cuervo

Paulo Arieu

Hola,saludos.
Yo le deje una consulta similar a esta en el foro. Es para poder sacarme los caracteres de fin de linea, que se producen cuando aprieto enter.
Use esta funcion que ud. puso,pero no me dio resultados.
Espero su ayuda,
Saludos
Paulo

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*