我有一个动态制作的字符串。最后,我得到了这个:
fullcondition: "5439=5436 or 5439=5438"
变量fullcondition包含带有这些双引号的"5439=5436 or 5439=5438"
。
fullcondition,这就是为什么我需要删除双引号。
if ("5439=5436 or 5439=5438")
不起作用 我需要的是:
if (5439=5436 or 5439=5438).
提前致谢。
答案 0 :(得分:0)
你可以这样写:
var x = "5439=5436 or 5439=5438".replace(/=/g, '===').split(' or ');
if ( eval(x[0]) || eval(x[1]) ) {
// some code
}
但是using eval can be dangerous :)
编辑没有eval
:
var x = "5439=5436 or 5439=5438".split(' or ');
var left = x[0].split('=');
var right = x[1].split('=');
if (left[0]===left[1] || right[0]===right[1]) {
// some code
}
或缩短:
var x = "5439=5436 or 5439=5438".replace(' or ', '=').split('=');
if (x[0]===x[1] || x[2]===x[3]) {
// some code
}
答案 1 :(得分:-1)
您可以使用eval来评估字符串:
eval("5439==5436 || 5439==5438")
但是这假设你已经做了一些正则表达式来将你的表达式转换成javascript可以解释的东西。