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
2226
Programando para inetd.
5344
Determinar si un numero es par o impar.
2077
Evitar que té linkeen las imágenes.
2410
Abre un POP-UP cada x entradas.
1596
Variables variables.
2457
Ultimas innovaciones.
2642
Botón de imprimir.
3863
Paginación ADO del resultado de 5 tablas.
7443
Redondeo a dos decimales.
2860
Imprimir con soporte a todos los navegadores.
2425
Power Equivalents.
2151
Sitios de carga rápida.
22807
Redireccionar después de un ALERT.
5995
Recorrer archivo XML, para lector RSS usando la extensión SimpleXML.
2351
Efecto de Flash en la barra de estado.
7261
Cambiar el fondo de pantalla dinamicamente.
2694
Scroll de links.
7510
Maximizar la pantalla del explorador.
4849
Catálogo de imágenes con paginación.
3170
Haciendo PING desde PHP.


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