JSを使用して簡単な計算機を実装する

JSを使用して簡単な計算機を実装する

JSを使用して、参考用の簡単な計算機を完成させます。具体的な内容は次のとおりです。

要件: 入力値は数値のみで、正規表現を使用してください
onchange(): 値が変化したときにイベントを実行します
onblur(): マウスが外に出たときにイベントを実行します

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>電卓</title>
</head>
<本文>
    <div style="text-align: center;">
        <input type="text" id="1" onkeyup="this.value=this.value.replace(/[^\d]/g,'') " >
    <select name="select" id="select">
        <option value="null">選択してください</option>
        <オプション値="0">+</オプション>
        <オプション値="1">-</オプション>
        <オプション値="2">*</オプション>
        <オプション値="3">/</オプション>
    </選択>
    <input type="text" id="2" onkeyup="this.value=this.value.replace(/[^\d]/g,'') ">
    =
    <input type="text" id="3" onkeyup="this.value=this.value.replace(/[^\d]/g,'') "><br><br>
    </div>
    <div style="text-align: center;">
        <input type="button" id="button"value="計算">
    </div>
    <スクリプト>
        
    関数accAdd(arg1,arg2){ 
        変数 r1,r2,m; 
        試す{
            r1=arg1.toString().split(".")[1].length
        }キャッチ(e){
            r1=0
        } 
        試す{
            r2=arg2.toString().split(".")[1].length
        }キャッチ(e){
            r2=0
        } 
        m = Math.pow(10,Math.max(r1,r2)) 
        (arg1*m+arg2*m)/mを返す 
        } 
        Number.prototype.add = 関数 (引数) { 
        accAdd(arg,this) を返します。 
        }


    関数Subtr(arg1,arg2){
        変数 r1,r2,m,n;
 
        試す{
            r1=arg1.toString().split(".")[1].length
        }キャッチ(e){
            r1=0
        }
 
        試す{
            r2=arg2.toString().split(".")[1].length
        }キャッチ(e){
            r2=0
        }
        m = Math.pow(10, Math.max(r1,r2));
 
     // 最終更新者: deeka
     // 精度の長さを動的に制御します n=(r1>=r2)?r1:r2;
        ((arg1*m-arg2*m)/m).toFixed(n) を返します。
    }
    function accMul(arg1,arg2) //乗算{ 
        var m=0,s1=arg1.toString(),s2=arg2.toString(); 
        試す{
            m+=s1.split(".")[1].length
        }キャッチ(e){} 
        試す{
            m+=s2.split(".")[1].長さ
        }キャッチ(e){} 
        Number(s1.replace(".",""))*Number(s2.replace(".","")) / Math.pow(10,m) を返します。 
        } 
 
    // 呼び出しをより便利にするために、Number 型に mul メソッドを追加します。 
    Number.prototype.mul = 関数 (引数) { 
    accMul(arg, this) を返します。 
    } 

    関数accDiv(arg1,arg2){ 
    var t1=0,t2=0,r1,r2; 
    試す{
        t1=arg1.toString().split(".")[1].length
    }キャッチ(e){} 
    試す{
        t2=arg2.toString().split(".")[1].length
    }キャッチ(e){} 
     (数学){ 
        r1=数値(arg1.toString().replace(".,"")) 
        r2=数値(arg2.toString().replace(".,"")) 
        (r1/r2)*pow(10,t2-t1) を返します。 
        } 
    } 
        Number.prototype.div = 関数 (引数) { 
        accDiv(this, arg) を返します。 
    }


        document.getElementById('button').onclick=function(){
            var num1 = document.getElementById('1').value;
            var num2 = document.getElementById('2').value;
            var 数値3;
            var op = document.getElementById('select').value;
            スイッチ(op){
                ケース '0':
                    num3 = accAdd(num1,num2);
                    壊す;
                ケース '1':
                    num3 = 減算(num1,num2);
                    壊す;
                ケース '2':
                    num3 = accMul(num1、num2);
                    壊す;
                ケース '3':
                    num3 = accDiv(num1、num2);
                    壊す;
            }
            document.getElementById('3').value=num3;
        }
       
    </スクリプト>

</本文>
</html>

効果画像:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 豊富なコンテンツと実用的なメソッドを備えた、JavaScript で書かれたシンプルな計算機です。おすすめ
  • 電卓操作を実現するシンプルなjsコード
  • jsはシンプルな計算機を実装します
  • HTML+JS は、シンプルな計算機コード (加算、減算、乗算、除算) を実装します。
  • JS で書かれたシンプルな計算機実装コード
  • jsはシンプルな計算機を実装します
  • javascript の簡単な計算機の実装手順の分解 (画像付き)
  • 計算機機能を実装するための純粋な JavaScript コード (3 つの方法)
  • jsウェブ計算機のシンプルな実装
  • ウェブ計算機 JS計算機

<<:  ZabbixはLinuxシステムサービスのプロセスを監視

>>:  Navicat を使用して MySQL データベースをエクスポートおよびインポートする方法

推薦する

CentOS 6.2 に MySQL 5.7.28 をインストールするチュートリアル (mysql ノート)

1. 環境整備1.MySQLインストールパス: /usr/local 2. CentOS 6.2 ...

mysql バックアップ スクリプト mysqldump の使い方の詳細な説明

この記事では、参考までにMySQLバックアップスクリプトを紹介します。具体的な内容は次のとおりです。...

Navicat 経由で MySQL にリモート接続する方法

Navicat を使用して IP 経由で直接接続すると、次のようなさまざまなエラーが報告されます: ...

MySQL データベースのインデックス順序の詳細な説明

目次事件の原因解剖学ファイルの並べ替えファイルのソートが非常に遅いのですが、他に解決策はありますか?...

MySQL で誤って削除したテーブル データを回復する方法 (必読)

バックアップがあれば、非常に簡単です。最新のバックアップ データを生成し、mysqlbinlog を...

Nginx に React プロジェクトをデプロイする方法の例

テストプロジェクト: react-demo react-demo プロジェクトをサーバーにクローンし...

スクロール画像バーを実現するための CSS サンプルコード

一部の Web サイトでは、画像が連続的にスクロールしているのをよく見かけます。この効果は、CSS ...

CSS3 のカラー値 RGBA とグラデーションカラーの使用方法の紹介

CSS3以前は、グラデーション画像は背景画像としてのみ使用できました。 CSS3 のグラデーション構...

lastInfdexOf 関数の MySQL 実装例

MySQL では lastIndexOf に似た関数を使用する必要がある場合もありますが、すぐに使用...

MySQL フルテキスト インデックス、ジョイント インデックス、Like クエリ、JSON クエリのうち、どれが高速ですか?

目次クエリの背景1. クエリをいいね2. JSON関数クエリ3. 共同インデックスクエリ4. 全文イ...

Nginx SSL証明書設定エラーの解決策

1. はじめにWeb プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必...

MySQL トリガーの紹介、トリガーの作成、使用制限の分析

この記事では、例を使用して、MySQL トリガーの概要、トリガーの作成方法、およびトリガーの使用上の...

CentOS MySQLデータベースのスケジュールバックアップを実装する方法

次のスクリプトは、MySQLデータベース全体のスケジュールされたバックアップに使用されます。 mys...

MySQL におけるデフォルトの使用法の詳細な説明

NULL および NOT NULL 修飾子、DEFAULT 修飾子、AUTO_INCREMENT 修...