Javascript将函数与文本值进行比较

时间:2015-05-27 19:33:19

标签: javascript

我正在进行一些javascript编码/比较问题。 alert(myfn)给了我78>=99.35。我现在如何在功能中使用它?

if (document.getElementById('<%=g.ClientID%>').innerHTML != '') {
    var myvar = '';
    var myfn = '';
    myvar = document.getElementById('<%=a.ClientID%>').value + document.getElementById('<%=g.ClientID%>').innerHTML;
    //alert(myvar);
    myfn = myvar.replace('&gt;', '>').replace('&lt;', '<');
    alert(myfn);
    if (myfn) {
        alert("t");
    }
    if (78>=99.35) {
        alert("m");
    }
    //alert(Boolean(myfn));
}

1 个答案:

答案 0 :(得分:-1)

您可以使用eval功能。

http://www.w3schools.com/jsref/jsref_eval.asp

  

eval()函数计算或执行参数。

     

如果参数是表达式,则eval()计算表达式。如果   参数是一个或多个JavaScript语句,eval()执行   语句。

&#13;
&#13;
alert(eval("78>=99.35"));
&#13;
&#13;
&#13;

更新:

如果您只需要进行算术评估,那么您可以使用以下代码使eval更安全(如@JosephMalle指出的那样)

&#13;
&#13;
var exp = "78>=99.35";

exp = exp.replace(/[^0-9<>=\-()\.]/g, "");
// or 
exp = exp.replace(/[^0-9<>=\-()\.+*/|&\?%:]/g, "");
// which also includes bitwise, logical 
// and conditional (ternary) operators
alert(eval(exp));
&#13;
&#13;
&#13;