Skip to content

Instantly share code, notes, and snippets.

@CatTail
Created November 28, 2012 05:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CatTail/4159310 to your computer and use it in GitHub Desktop.
Save CatTail/4159310 to your computer and use it in GitHub Desktop.
// html email code transformation
// See http://www.awflasher.com/jsmail
function HtmlEncode( s )
{
var result = "";
for (var j = 0; j < s.length; j++ ) {
// Encode 25% of characters
if (Math.random() < 0.25
|| s.charAt(j) == ':'
|| s.charAt(j) == '@'
|| s.charAt(j) == '.') {
var charCode = s.charCodeAt(j);
result += "&#";
result += charCode;
result += ";"
} else {
result += s.charAt(j);
}
}
return result;
}
function UrlEncode( s )
{
var HEX = "0123456789ABCDEF";
var encoded = "";
for (var i = 0; i < s.length; i++ ) {
// Encode 25% of characters
if (Math.random() < 0.25) {
var charCode = s.charCodeAt(i);
encoded += "%";
encoded += HEX.charAt((charCode >> 4) & 0xF);
encoded += HEX.charAt(charCode & 0xF);
} else {
encoded += s.charAt(i);
}
} // for
return encoded;
}
function Obfuscate()
{
var plaintext = document.TheForm.F1.value;
var result = "<a href='";
result += HtmlEncode("mailto:" + UrlEncode(plaintext) )
result += "'>"
result += HtmlEncode(plaintext)
result += "</a>";
document.TheForm.F2.value = result;
if (document.all) {
document.all.RESULT.innerHTML = "æç»ææ: " + result;
} else {
document.getElementById("result").innerHTML = "æç»ææ: " + result + " ï¼æ³¨æè§å¯ç¶ææ ï¼è¿å¯æ¯æ åçmailtoé¾æ¥å¦ï¼";
}
return false; /* Privacy note: returning false prevents the browser from posting your email address! */
};
@ibigbug
Copy link

ibigbug commented Nov 28, 2012

When you put some string together, you'd better do like this:
str = [];
str.push(str1);
str.push(str2);
str = str.join('');

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment