Solved

JavaScript: URL Encode All Non-whitelisted Characters

Posted on 2013-11-06
1
335 Views
Last Modified: 2013-11-06
I want JavaScript functions that will work just like escape() but I want all non-whitelisted charachters to be encoded.

These charachters should be whitelisted:

bcdefghijklmnopqrstuvwxyzBCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_

Because the letter "A" is not whitelisted, it should be URL encoded.

For example:
A test, 123-456

Should become:
%41%20test%2C%20123%2D456%20
<!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 = 'A test, 123-456';

alert(escapeNonWhitelisted(x));

function escapeNonWhitelisted(str) {
 return escape(str);
}

//]]>
</script>

</body>
</html>

Open in new window

0
Comment
Question by:hankknight
1 Comment
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
ID: 39629088
Test page : http://jsfiddle.net/mYJCx/

function escapeNonWhitelisted(str) {
    var escape char = "%";
    var whitelist = "bcdefghijklmnopqrstuvwxyzBCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
    return str.replace(/(.)/g,function($1) { return whitelist.indexOf($1)<0?escape char+$1.charCodeAt(0).toString(16):$1; });
}

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Working with SharePoint Data 8 46
Don't understand jquery promises 6 36
Javascript: How to show value of a specific value 5 44
Javascript and Jquery not firing 9 37
I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now