2012-07-29 21 views
5

Kullanıcı girişinden bir dizeyi nasıl ayrıştırıp javascript koşullu deyimine yeniden yapılandırabilirim. Kullanıcı bir texbox içine follwing dize girmesi halindeJavaScript koşullu deyimi için kullanıcı girdisini atla

Örneğin,

x==1 && y==2 || (z!=3) 

nasıl

if (vars['x'] == 1 && vars['y'] == 2 || (vars['z'] != 3)) 

Uygulamam düğüm üzerine kuruludur javascript aşağıdaki sunucu tarafı yürütmek için bu dizeyi yeniden oluşturabilirsiniz Eğer bilgi bu kadar yardımcı olursa. Eval() işlevinin farkındayım, ancak önce değerlendirmeden önce değişkenleri kullanıcı ifadesinden almam gerekiyor.

Bu, normal ifadeler için çok karmaşık görünüyor. Eğer böyle bir şeyi başaracak basit bir ayrıştırıcıdan haberdar olsaydı, bu harika olurdu.

+0

Neden y y = 2'? Güvenlik hakkında da düşünün. –

+0

Güvenlik bir katil olacak, çünkü '' 've kum havuzundan kaçmasına rağmen yeterli olması gerekiyor. –

cevap

4

Esprima oldukça serin: http://esprima.org/

Sen düğümünde veya bir tarayıcıda çalıştırabilirsiniz.

+0

Bu harika görünüyor. Paylaşım için teşekkürler. –

+0

Paylaşım için teşekkürler – v1r00z

İlgili konular