前提・実現したいこと
javascriptで電卓作成をしています。
発生している問題・エラーメッセージ
1、「1+-*/2」のように四則演算子が連続して入力できてしまう。この時=を押しても何も変化がない。
2、「0123」のように頭に0のついた数値が入力できてしまう。
エラーメッセージなし
該当のソースコード
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Calculator</title> </head> <body> <input type="text" id="result"> <div> <input type="button" value="7" onclick="edit(this)"> <input type="button" value="8" onclick="edit(this)"> <input type="button" value="9" onclick="edit(this)"> <input type="button" value="+" onclick="edit(this)"> </div> <div> <input type="button" value="4" onclick="edit(this)"> <input type="button" value="5" onclick="edit(this)"> <input type="button" value="6" onclick="edit(this)"> <input type="button" value="-" onclick="edit(this)"> </div> <div> <input type="button" value="1" onclick="edit(this)"> <input type="button" value="2" onclick="edit(this)"> <input type="button" value="3" onclick="edit(this)"> <input type="button" value="*" onclick="edit(this)"> </div> <div> <input type="button" value="0" onclick="edit(this)"> <input type="button" value="00" onclick="edit(this)"> <input type="button" value="." onclick="edit(this)"> <input type="button" value="/" onclick="edit(this)"> </div> <div> <input type="button" value=" AC " onclick="update('')"> <input type="button" value=" = " onclick="calc()"> </div> <script language="javascript" type="text/javascript"> let result = document.getElementById("result"); function edit(elem) { result.value = result.value + elem.value; } function calc() { result.value = new Function("return " + result.value)(); } function update(_V){ document.querySelector('input').value=_V } </script> </body> </html> ```ここに言語名を入力 ソースコード ```試したこと
if文を使って、最後の文字列を上書きする・0の場合は上書きする、
というような条件式を書くことまでは辿り着きましたが
それをどのようにコードに表せば良いのか分かりません。
何卒、ご教示いただけますと幸いです!
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
コードはマークダウンのcode機能にてご提示ください。
>というような条件式を書くことまでは辿り着きましたが
書くことまでたどり着いたのならコードになってるのでは?本当はどこまで書けましたか?