Libro de Visitas Gratis
Inicio | Directorio de Páginas | Diseño Gráfico | Gadgets | Posicionamiento | Webmasters| Buscador de Artículos | Glosarios

Codificar y decodificar en JavaScript

Añade Tu Web Al Directorio de NocionDigital.com
Es muy útil en el momento de enviar variables en una URL donde pueden aparecer carácteres no válidos que pueden dar errores.



<html><head>
<title>Untitled Document</title>
<script language="JavaScript">

var hexVals = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
var unsafeString = ""%^[]`";

function highlight(element1){element1.focus();element1.select();}

function URLDecode()
{
var returnstr=unescape(form1.string1.value);
document.all.div1.innerHTML=`RESULT:<br><textarea name="textarea2">`+returnstr+`</textarea>`;
highlight(form3.textarea2);
// while coding i found that IE had problem writing `<form>` to innerhtml. </form> was ok. `unknown runtime error` IE5.5.
}

function URLEncode(val)
{
var state = `urlenc`;
var len = val.length;
var backlen = len;
var i = 0;

var newStr = "";
var frag = "";
var encval = "";

for (i=0;i<len;i++)
{
// uncomment the next 7 commented lines to encode only the usual URL unsafe characters
// if (isURLok(val.substring(i,i+1)))
// {
// newStr = newStr + val.substring(i,i+1);
// }
// else
// {
tval1=val.substring(i,i+1);
newStr = newStr + "%" + decToHex(tval1.charCodeAt(0),16);
// }
}
document.all.div1.innerHTML=`RESULT:<br><textarea name="textarea2">`+newStr+`</textarea>`;
highlight(form3.textarea2);
}

function decToHex(num, radix) // part of URL Encode
{
var hexString = "";
while (num >= radix)
{
temp = num % radix;
num = Math.floor(num / radix);
hexString += hexVals[temp];
}
hexString += hexVals[num];
return reversal(hexString);
}

function reversal(s) // part of URL Encode
{
var len = s.length;
var trans = "";
for (i=0; i<len; i++)
{
trans = trans + s.substring(len-i-1, len-i);
}
s = trans;
return s;
}

function isURLok(compareChar) // part of URL Encode
{
if (unsafeString.indexOf(compareChar) == -1 && compareChar.charCodeAt(0) > 32 && compareChar.charCodeAt(0) < 123)
{
return true;
}
else
{
return false;
}
}
</script>
</head>

<body>
<table align="center">
<tr>
<td align=center bgcolor="#FFFFFF"><form name="form1" onsubmit="URLDecode();return false;">
<font face="Verdana, Arial" size=2><b><u><big>URL Encode/Decode</big></u></b></font>
<br>
<textarea name="string1" cols="40" rows="8"></textarea>
<br>
<input type="button" value="Decode" onclick="URLDecode();">
<input type="button" value="Encode" onclick="URLEncode(form1.string1.value);">
</form>
<form name="form3">
<div align=center id="div1"></div>
</form></td>
</tr>
</table>
</body>
</html>
 
Hits
DOCUMENTOS RELACIONDOS
2581
Compactar una base de datos en forma remota.
2004
Leer el contenido de un fichero y mostrarlo.
1518
Mensaje mobil en las barra de estado.
2774
Confirmar acción con JavaScript.
9431
Pop-up automático.
3174
Animación al abrir una ventana.
3487
Funciones de Gestión de Funciones.
1945
Retardos en la ejecución de programas.
6617
Login y Password.
4327
Creación de un sistema de comentarios.
2935
Una pequeña animación en el momento de abrir una nueva ventana..
1761
¿Cuanto tarda en cargar una página en ASP?.
1813
Eliminar el Cache.
2213
Original reloj gráfico.
16078
Contador de letras.
14041
Expresiones regulares en PHP.
2568
Cambiar el formato de la url al enviar varibles.
3368
Aparición de la imágen.
2300
Ejecutar videos dentro la web.
2042
Paginas con sonido.


www.nociondigital.com - Todo para un mundo digital. Páginas Webs, Buscadores y Webmasters....