Escapar caracteres en JavaScript Septiembre 15, 2009
Publicado por lineadecodigo en : JavaScript , trackbackLo 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); }
Articulos Similares:
- Conocer el tipo de una variable en VBScript
- Hola Mundo con Swing
- Extraer una parte de una cadena
- Hola Mundo en Groovy
- ¿Qué es una línea de código?
|- Descargar el código
|- Reportar error en el código
|- Foro sobre Javascript
Enviar entrada por email
|
Imprimir
| 2767 visitas





Comentarios»
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