Solved

Escape in eval function on Single Quotation

Posted on 2006-07-07
7
699 Views
Last Modified: 2008-03-10
Try these two sample scripts:

This works:
<script>
var boys = 'He said \'howdy\', I said \'hi\'.' // nesting single quotes within single quotes
</script>
<a href="javascript:alert(boys)">Show me the string</a>

This does not work:
<script>
var boys = eval("'He said \'howdy\', I said \'hi\'.'") // nesting single quotes within single quotes
</script>
<a href="javascript:alert(boys)">Show me the string</a>

Why is this? Does not eval handle escape singel character?
And what should I put instead of \' in the eval function to make it work?

Thank you,
Best regards,
Marius
0
Comment
Question by:traelnes
7 Comments
 
LVL 2

Expert Comment

by:vikrant4u2
Comment Utility
Hi Marius,

try this
<script>
var val='He said \'howdy\', I said \'hi\'.';
var boys = eval("val"); // nesting single quotes within single quotes
</script>
<a href="javascript:alert(boys)">Show me the string</a>

regards,
vikrant
0
 
LVL 22

Expert Comment

by:Ivo Stoykov
Comment Utility
Hello traelnes,

because \' itself is eval again and after eval("'") you've get single quote that have to be evaled again and you get unterminated string constant.

Why you have to eval this? just concatenate...

HTH

I
0
 
LVL 63

Accepted Solution

by:
Zvonko earned 500 total points
Comment Utility
Escape chars has to be escaped in eval():

       var boys = eval("'He said \\'howdy\\', I said \\'hi\\'.'");

0
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 

Author Comment

by:traelnes
Comment Utility
Thank you Zvonko for this. It works.

Just curious about what ivostoykov mean by concatenate?
0
 
LVL 63

Expert Comment

by:Zvonko
Comment Utility
You are welcome.
Let us wait and see what concatenate trick comes along ;-)
0
 

Author Comment

by:traelnes
Comment Utility
No Concentate. Ok, Zvonko, you are the winner!
0
 
LVL 63

Expert Comment

by:Zvonko
Comment Utility
:)
Thanks.
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

In my daily work (mainly using ASP.net), I need to write a lot of JavaScript code. One of the most repetitive tasks I do are the jQuery Ajax calls. You know: (CODE) I don't know if for you it's the same, but for me is soooo tedious to write the …
This article discusses how to create an extensible mechanism for linked drop downs.
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…

743 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

12 Experts available now in Live!

Get 1:1 Help Now