[英]Javascript regular expression to check whether a string is a combination of certain character
[英]javascript: check whether expression is evaluatable or not?
我有隨機表達,由用戶給出( 例如:2 + 3 * 5,21 * +(4)7,* - 54 + 3 )。 這些表達式可以包含任意數量的操作數或運算符來形成表達式。我需要評估這些表達式以獲得Answer.I試圖使用eval()函數進行求值,但問題是當一個錯誤的表達式傳遞給eval()函數時拋出一個錯誤,程序停止。我試過了
if(eval(exp))
{
//Action Expression is evaluatable
}
else
{
//expression is not Evaluatable
}
但沒有奏效並產生錯誤信息
"SyntaxError: unterminated regular expression literal."
由於表達式本質的多樣性,我很難在評估之前構造檢查語句。
你能建議我怎么能簡單地檢查傳遞給eval()函數的表達式是否正確?
抓住錯誤:
try {
eval(exp);
} catch (e) {
if (e instanceof SyntaxError) {
alert(e.message);
}
}
您可以嘗試將腳本的內容動態放在“腳本”標記中,然后檢查錯誤函數的返回。 或者在腳本末尾定義一個變量,並在執行后檢查它是否存在。
或者mayber你可以在這里找到答案: https ://stackoverflow.com/a/9522483/2007701 !!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.