jump to navigation

Escapar caracteres en JavaScript Septiembre 15, 2009

Publicado por lineadecodigo en : JavaScript , trackback

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"><label for="texto">Escribe un texto:</label><br/>
  4. <textarea id="texto" rows="10" cols="30"></textarea>
  5. <br/>
  6. label"><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.  

Articulos Similares:

|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre Javascript

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 2767 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (Todavia sin evaluar)
Loading ... Loading ...

Comentarios»

1. Paulo Arieu - Octubre 5, 2009

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




Si tienes dudas sobre Javascript no dudes en visitar el Foro sobre Javascript.
Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen