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
1938
Desglosar dominio y extensión a partir de una URL.
2821
Imágen temblando.
2124
Introducción a DHTML.
2059
Validación externa en PHP.
2058
Información de la variable.
4870
Frases aleatorias.
4389
Mini tutorial de Fast Templates.
14416
Expresiones regulares en PHP.
5617
Paginación con PHP y Oracle.
87209
Función DateDiff(), para restar fechas.
4546
Aclarar una imágen al pasar por encima.
1966
Simple recorrido por un vector (array).
1478
Modificar variables.
4902
Hacer invisible los controles.
1865
Petición de validación de usuarios.
1519
Última actualitzación de la página.
2431
Validación de un formulario.
2128
Cambio de idioma segun la información mandada por el navegador.
5576
Como ocultar tus descargas.
1792
Añadir a Mis Favoritos.


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