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\’.
var cadena = "\'Hola Mundo\'";
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:
var cadena1 = escape("'Hola Mundo'"); // El resultado es %27Hola%20Mundo%27
var cadena2 = escape("20%5=0"); // El resultado es 20%255%3D0
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:
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().
function escapar(){
document.getElementById("textoescapado").value = escape(document.getElementById('texto').value);
}