使用Javascript(或任何Javascript库)计算以字符串格式给出的数学表达式

使用Javascript(或任何Javascript库)计算以字符串格式给出的数学表达式,javascript,Javascript,用户在此处输入他们的输入 <input type="text" id="expression_text" value="Enter equation....."> 如何从UI端(Javascript或任何其他Javascript库)计算以字符串格式给出的数学表达式 服务器端预期结果仅为4+6*9+3=61 对不起,我的英语很差我很难理解你在找什么。据我所知,您有一个字符串,它是一个数学赋值,您希望将字符串和计算值返回到后端 有几种方法可以做到这一点。如果您可以控制输入,最明显的方

用户在此处输入他们的输入

 <input type="text" id="expression_text" value="Enter equation.....">
如何从UI端(Javascript或任何其他Javascript库)计算以字符串格式给出的数学表达式 服务器端预期结果仅为4+6*9+3=61
对不起,我的英语很差

我很难理解你在找什么。据我所知,您有一个字符串,它是一个数学赋值,您希望将字符串和计算值返回到后端

有几种方法可以做到这一点。如果您可以控制输入,最明显的方法是使用
eval()
,尽管更快的版本是避免
eval
并使用
函数
构造函数:

//我已将`val()`返回的内容替换为所需的字符串
var text_input='exp_string=4+6*9+3'//$(“#表达式_文本”).val();
//执行计算并将值赋给全局“exp_string”变量
函数(文本输入)();
//可以使用什么以及变量包含什么的示例

log(${text\u input}将等于${exp\u string})不要使用
eval()
,只是不能保存。像使用图书馆一样完成你的任务。

我看不出有问题。同样,需求也是如此。问题陈述“我的要求”确切地说,你的要求,到目前为止你尝试了什么?可能重复:或者我注意到语言障碍,但我同意这里的每个人……这个问题定义不清楚。我已经试着帮你找到答案,但我不能再为此贡献时间了。祝你好运,讽刺的是,上面提到的那些傻瓜在这个问题上也没有任何努力。。。汤匙喂食是一种流行病:没有评论的pVotes,典型的青少年;)不是青少年,但仍然没有被冒犯。否决票,因为,首先:这是一项要求。回答这样的问题会促进填鸭式喂养。第二,已经有很多帖子讨论了如何解析字符串中的数学表达式。我们应该以受骗者的身份结束这篇文章。因为我们是老年用户(不是典型的青少年),所以我们应该以身作则,保持纪律。@Rajesh我很高兴你有这种感觉,谢谢你的回复。虽然我可能同意这个问题应该结束,但我认为这是投票制度的一个拙劣应用。答案并不差,你对我发布答案的看法是你投票的方式。@vol7ron downvote并不一定意味着不正确。在这种情况下,它意味着不需要。有许多帖子会显示使用eval来解决这个问题。但是eval是邪恶的,因此我分享了两篇没有eval的帖子。您可以与eval共享这些内容,这将为OP提供足够的资源来找到解决方案。据我所知,我们来这里是为了帮助别人,而不是为别人做事。因此,基于代表的观点,我的行为有点严格。同时,理解这是一个固执己见的讨论,我将把行动留给你们。祝您愉快:-)@Rajesh我完全同意您的观点,并且正在投票结束;)事实上,当我这么多年前第一次加入时,我会同意你关于否决票的回答,但最近因为反对票(尤其是JavaScript领域的反对票)而引起了很多反弹。曾经是一个开放帮助他人的社区(即使是家庭作业),现在已经有了社会污名,我们必须纠正这一点。我几乎不在乎反对票,只要理由合理——我相信你有一个合理的担忧,尽管我不同意,所以没有抱怨(再次感谢你),首先,请阅读vol7ron回答下的评论。第二,图书馆可能是一把双刃剑。这可能对你不利。第三,也是更重要的一点,只有链接答案被认为是不好的。请试着解释如何以及为什么。第四,这并不能回答问题。如果我问你如何加2加2,你说,不要用西瓜,这是一个没有答案的问题。谢谢你们的反馈。
var exp_string=$("#expression_text").val();
//"exp_string=4+6*9+3"