• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 368
  • Last Modified:

JavaScript: Functions to Escape / Unescape Using _ instead of %

I want JavaScript functions that will work just like escape() and unescape() that use an underscore instead of a percent.

My function below does not work, as the example demonstrates:

http://jsfiddle.net/3fp6c/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Demo</title>
</head>
<body>

<script type="text/javascript">
//<![CDATA[

var x = 'Hello_World "123%"';
alert(x);

x = escapeu(x);

x = unescapeu(x);
alert(x);

function escapeu(str) {
 return escape(str).replace(/%/g, '_' );
}

function unescapeu(str) {
 return unescape(str.replace(/_/g, '%' ));
}

//]]>
</script>
</body>
</html>

Open in new window

0
hankknight
Asked:
hankknight
  • 2
1 Solution
 
leakim971PluritechnicianCommented:
what about :
function escapeu(str) {
 return escape(str).replace(new RegExp(escape("%"),"g"), escape('_'));
}

Open in new window


test page : http://jsfiddle.net/3fp6c/2/
0
 
hankknightAuthor Commented:
That does not do the trick.

Please test this:
http://jsfiddle.net/6WHaM/
0
 
leakim971PluritechnicianCommented:
check this one : http://jsfiddle.net/6WHaM/1/

var x = 'Hello___World "123%"';
alert('The fist and last line should be the same:\n\n'+x+'\n'+escapeu(x)+'\n'+unescapeu(escapeu(x)));

function escapeu(str) {
 return escape(str).replace(/_/g,"%5F").replace(/%/g,"_");
}

function unescapeu(str) {
 return unescape(str.replace(/_/g,"%"));
}

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now