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
5875
Dar formato a las barras de Scroll.
5377
Instalar Apache - Php4 - MySQL - Mod_ssl.
2254
Función para subir archivos con FTP.
1705
Organizar un programa.
1820
xPronor: Localizador y re-emplazador.
5991
Paginación con PHP y Oracle.
4560
Mini tutorial de Fast Templates.
5898
Tabla con cabecera independiente y barra de Scroll.
2064
Redirección del Error de servidor 301 mediante PHP.
2558
Menú en el boton derecho del ratón.
6029
Forzar la descarga de archivos según su extensión.
2928
Cálculo de la edad.
2989
Upload de archivos.
5410
Enlaces dentro de la misma página.
3453
Migración de APACHE+PHP4+MySQL3 a APACHE2+PHP5+MySQL4.
33101
Coger el valor seleccionado en un SELECT.
6006
Trabajar con el buffer de PHP.
2466
Estructura de un documento HTML.
2119
Desglosar dominio y extensión a partir de una URL.
5039
Lanzar procesos con PHP a una hora determinada.


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