O obbin Medlem sedan juni 2005 9 inlägg Trådstart 23 juni 2005 16:37 #1 Finns det något sätt att vända på detta scriptet, d.v.s att man översätter "%" tecken till vanliga ist. för tvärt om?
<script type="text/javascript">
String.prototype.eescape = function(){
var escaped="";
for(var n=0;n<this.length;n++){ escaped+="%"+((this.charCodeAt(n)<16)?"0"+this.charCodeAt(n).toString(16):this.charCodeAt(n).toString(16)); }
return escaped;
}
function makemaillink(str){
return ""+str.eescape()+"";
}
</script>
<form>
<table>
<tr><td>Dinatecken att översätta till "kodad form":</td><td><input type="text" name="email" style="width:200px;"/></td></tr>
<tr><td> </td><td><input type="button" value="Generera" onclick="this.form.eescaped.value=makemaillink(this.form.email.value);"/></td></tr>
<tr><td>Resultat:</td><td><input type="text" name="eescaped" style="width:600px;"/></td></tr>
</table>
</form>
Tack på förhand!
G Guffa Medlem sedan juni 2004 533 inlägg Använd funktionen unescape.
O obbin Medlem sedan juni 2005 9 inlägg Jag är inte så haj på javascript kan du förklara lite mer/skriva kod?
det vore jätteschyst!
G Guffa Medlem sedan juni 2004 533 inlägg Det är en helt vanlig funktion:
var kodad_sträng = "%48%65%6A%31";
var avkodad_sträng = unescape(kodad_sträng);
Edit:
Städade lite i koden:
<script type="text/javascript">
String.prototype.eescape = function() {
var escaped = '';
for(var n=0; n<this.length; n++) {
escaped += "%" + (this.charCodeAt(n) < 16 ? '0' : '') + this.charCodeAt(n).toString(16);
}
return escaped;
}
function makemaillink(str){
return str.eescape();
}
</script>
Men det var ju kanske onödigt att skriva en egen escape-funktion... DCet finns ju en inbyggd i javascript: T ex
alert(escape("åäö"))
G Guffa Medlem sedan juni 2004 533 inlägg
nitro2k01 skrev:
Men det var ju kanske onödigt att skriva en egen escape-funktion...
Inte ifall man vill att alla tecken ska kodas. Funktionen escape kodar bara vissa tecken.
O obbin Medlem sedan juni 2005 9 inlägg Html-stylen då?
Hur "unescapar" man "htmlbosktäver" ex. #&115;??
G Guffa Medlem sedan juni 2004 533 inlägg Gör ett regular expression som matchar koden, och gör en ersättning som anropar en funktion för varje ersättning. Gör funktionen så att den tar emot koden och returnerar tecknet.
O obbin Medlem sedan juni 2005 9 inlägg hur gör man en såda funktion då, är inte helt 100 på javascript och forms