2012-07-29 33 views
5

Làm cách nào để phân tích chuỗi từ đầu vào của người dùng và tạo lại chuỗi đó thành câu lệnh điều kiện javascript.Phân tích cú pháp đầu vào của người dùng cho câu lệnh điều kiện JavaScript

Ví dụ, nếu người dùng đầu vào chuỗi follwing thành một texbox

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

Làm thế nào tôi có thể tái tạo chuỗi này để thực thi phía máy chủ sau javascript

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

Ứng dụng của tôi được xây dựng trên nút .js nếu thông tin đó giúp ích gì. Tôi biết về hàm eval(), nhưng tôi cần lấy các biến từ biểu thức người dùng trước, trước khi đánh giá.

Điều này có vẻ quá phức tạp đối với cụm từ thông dụng. Nếu bất cứ ai biết về một trình phân tích cú pháp đơn giản sẽ thực hiện một cái gì đó như thế này sẽ là tuyệt vời.

+0

Tại sao 'y = 2'? Cũng nghĩ về an ninh. –

+0

An ninh sẽ là một kẻ giết người, mặc dù thoát khỏi ''' và hộp cát nó là đủ. –

Trả lời

4

Esprima là khá mát mẻ: http://esprima.org/

Bạn có thể chạy nó trong nút hoặc trong một trình duyệt.

+0

Điều này có vẻ tuyệt vời. Cám ơn vì đã chia sẻ. –

+0

Cảm ơn bạn đã chia sẻ – v1r00z

Các vấn đề liên quan