eik*_*kaz 12 javascript jquery parsing
我有一个包含公式的表.公式示例:
(GP1 /(GP1 + GP2))*100%.
在我使用jquery的代码中,我将使用textbox1值替换GP1,使用textbox2值替换GP2并删除%.
我试着通过这样做得到结果:
var repl1 = (GP1/(GP1 + GP2))*100%;
var repl2 = repl1.replace(/GP1/gi,parseInt($("#txtbox1").val()));
var repl3 = repl2.replace(/GP2/gi,parseInt($("#txtbox2").val()));
var repl4 = repl3.replace(/%/gi,"");
Run Code Online (Sandbox Code Playgroud)
==>所以最后的结果是:
var repl4 = (10/(10+0))*100
Run Code Online (Sandbox Code Playgroud)
我尝试通过这样做将它转换为int:
var result = parseInt(repl4);
Run Code Online (Sandbox Code Playgroud)
但我得到的结果是NaN.
任何人都可以帮助我如何计算公式
谢谢.
你在寻找的是:
var result = eval(repl4)
Run Code Online (Sandbox Code Playgroud)
但要小心,因为repl4中的任何Javascript都将被评估和执行,即如果有人在您的文本字段中键入恶意Javascript,它将被执行,除非您对其进行过滤.
施加parseInt()到文本输入的值但是,应使用eval()在你的例子上可接受的,因为这将返回一个整数或NaN从而防止任何代码注入(假定当然该公式不是从未来的input为好).
| 归档时间: |
|
| 查看次数: |
2717 次 |
| 最近记录: |