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
3537
Spotlight - efecto de luces (rev.1).
7791
Script para encriptar y desencriptar a partir de una llave.
2595
Acceso a una area segura.
2957
Fecha y dia de la semana en español.
4944
"Limpiar" un array.
3583
Diferentes métodos de paso de variables, ¿Cual elegir?.
2204
¿Como transformar una url en un link?.
2757
El menú no desaparece nunca de la pantalla.
1775
Do ... While.
2127
Links ordenados en menus emergentes.
2186
Variables predefinidas.
1573
Incluir archivo programado en otro lenguaje.
2952
Imágen temblando.
2379
Original reloj gráfico.
2804
Compactar una base de datos en forma remota.
5539
Escribir los textos al reves.
5729
Como ocultar tus descargas.
1904
Conseguir la IP del cliente (con y sin PROXIE).
22282
Redireccionar después de un ALERT.
4974
Scroll de texto.


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