- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:evalを使うinputがある場合も安全に運用する)
evalを使うinputがある場合も安全に運用するための方法
このQ&Aのポイント
- evalを使うinputがある場合も安全に運用するための方法として、エスケープを行います。
- 四則演算子、数字、括弧以外は削除され、式として成立しない文字列は計算できません。
- エスケープの表記位置はevalを実行する前であればどこでも良いです。
- みんなの回答 (22)
- 専門家の回答
質問者が選んだベストアンサー
>!"#$%&',:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ >をInputに入れてアラートの処理が実行されるか確かめてみます 「catch内が実行されるか(アラートの処理が実行されるか)」ではなく >r = r.replace(/([^0-9\.\-\/\*\+\(\) ]+)/g, ' '); >r = r.replace(/([\*\/])[ \+\-\*\/]*([\+\-])[ ]*([0-9\.\(]+)/g, '$1$2$3'); >r = r.replace(/[\+\-][ \+\-\*\/]*([\+\-])[ ]*([0-9\.\(]+)/g, '$1$2'); >r = r.replace(/(^|\()[ \+\-\*\/]*([\+\-])/g, '$1$2'); >r = r.replace(/(^|\()[ \+\-\*\/]*[\*\/]/g, '$1'); >r = r.replace(/([\+\-\*\/])[ \+\-\*\/]*[\*\/][ ]*([0-9\.\(]+)/g, '$1$2'); >r = r.replace(/([ ]+)/g, ' '); ↑この「r」変数の値が''(ヌル文字)(文字が何も無い文字列)になるか、実際の「r」変数の値を表示してみて下さい。
その他の回答 (21)
- H240S18B73
- ベストアンサー率65% (190/288)
回答No.1
とりあえず1*-1ができない
お礼
マイナスをかけることが出来ないという事でしょうか? 他はできるのですね。