2016-01-21 21 views
0

在我的應用程序中,我需要允許用戶添加自己的數學公式,可以使用運算符和調用變量。無論如何,要驗證用戶是否寫錯了變量或未知變量來顯示錯誤? 我有和例如here,你有一些範圍變量在控制器的頂部。稍有不同,如果我在示例中插入一個無效變量,它會顯示null,但在我的代碼中顯示爲空白。

有什麼建議嗎?

回答

0

說實話,如果你不是懶洋洋地把這個東西扔進eval,你可以很容易地自己解析它,我會重新調整。

如何刪除所有的空格,並對每個單個字符進行交互? 我的意思是隻要沒有像aa或ab這樣的變量,就可以像檢查一樣。

for (var i = 0; i < answer.length ; i++) { 
    if (!isvalidParamOrOperator(answer[i])) { 
     //can show error at position i+1; 
     return false; 
    } 
} 

與isValidParamOrOperator是像

function(str) { 
    return "1234567890ab".indexOf(str); 
} 

當然它成爲在較長PARAMS有點複雜,但你能創造的東西,像+所有運營商拆分 - 空間&號碼。然後你會得到一個你可以檢查的所有參數列表。它應該可以在數組上進行檢查而不是我當前的建議,但是在執行這樣的事情之後,這應該不難。

+0

不錯,沒有這樣的方式,我的變量屬於一個對象稱爲項目,然後它有自己的參數,如item.price,item.workflow等 – changez

+0

我想你可以通過使用我的建議。 –