JavaScript+html はフロントエンドページでランダム QR コード検証を実装します

JavaScript+html はフロントエンドページでランダム QR コード検証を実装します

クールなフロントエンドページのランダムQRコード検証を参考までに共有します。具体的な内容は次のとおりです。

コードに直接

<%@ ページ contentType="text/html;charset=UTF-8" language="java" %>
<html>
<ヘッド>
    <title>タイトル</title>
    <!--jQuery の js を導入する -->
    <script type="text/javascript" src="../jquery/jquery.js"></script>
</head>
<スタイル>
    .入力値 {
        幅: 200ピクセル;
        高さ: 32px;
        境界線: 1px 実線 #ddd;
        ボックスのサイズ: 境界線ボックス;
    }
    #キャンバス {
        垂直位置合わせ: 中央;
        ボックスのサイズ: 境界線ボックス;
        境界線: 1px 実線 #ddd;
        カーソル: ポインタ;
    }
    .btn{
        表示: ブロック;
        上マージン: 20px;
        高さ: 32px;
        幅: 100ピクセル;
        フォントサイズ: 16px;
        色: #fff;
        背景色: #457adb;
        境界線: なし;
        境界線の半径: 50px;
    }
</スタイル>
<本文>
<div class="code">
    <input type="text" value="" placeholder="確認コードを入力してください(大文字と小文字は区別されません)" class="input-val">
    <キャンバスid="キャンバス" 幅="100" 高さ="30"></キャンバス>
    <button class="btn">送信</button>
</div>
</本文>
<スクリプト>
    $(関数(){
        var show_num = [];
        描画(表示番号)

        $("#canvas").on('click',function(){
            描画(表示番号)
        })
        $(".btn").on('クリック',function(){
            var val = $(".input-val").val().toLowerCase();
            var num = show_num.join("");
            if(val==''){
                alert('認証コードを入力してください!');
            }それ以外の場合(val == num){
                alert('送信に成功しました!');
                $(".input-val").val('');
                // 描画(show_num);

            }それ以外{
                alert('認証コードが間違っています! 再入力してください!');
                $(".input-val").val('');
                // 描画(show_num);
            }
        })
    })

    //検証コードのグラフィックを生成してレンダリングする function draw(show_num) {
        var canvas_width=$('#canvas').width();
        var canvas_height=$('#canvas').height();
        var canvas = document.getElementById("canvas"); // キャンバス オブジェクト (俳優) を取得します。 var context = canvas.getContext("2d"); // キャンバス描画環境 (俳優のパフォーマンス ステージ) を取得します。 canvas.width = canvas_width;
        キャンバスの高さ = キャンバスの高さ;
        var sCode = "a、b、c、d、e、f、g、h、i、j、k、m、n、p、q、r、s、t、u、v、w、x、y、z、A、B、C、E、F、G、H、J、K、L、M、N、P、Q、R、S、T、W、X、Y、Z、1、2、3、4、5、6、7、8、9、0";
        var aCode = sCode.split(",");
        var aLength = aCode.length; //配列の長さを取得します for (var i = 0; i < 4; i++) { //ここでの for ループは検証コードの桁数を制御できます (6 桁を表示する場合は、4 を 6 に変更するだけです)
            var j = Math.floor(Math.random() * aLength); //ランダムなインデックス値を取得します // var deg = Math.random() * 30 * Math.PI / 180; //0から30の間のランダムなラジアンを生成します var deg = Math.random() - 0.5; //ランダムなラジアンを生成します var txt = aCode[j]; //ランダムなコンテンツを取得します show_num[i] = txt.toLowerCase();
            var x = 10 + i * 20; //キャンバス上のテキストのx座標var y = 20 + Math.random() * 8; //キャンバス上のテキストのy座標context.font = "bold 23px Microsoft YaHei";

            コンテキストを翻訳します(x, y);
            コンテキストを回転します(度);

            context.fillStyle = ランダムカラー();
            コンテキスト.fillText(txt, 0, 0);

            コンテキストを回転します(-deg);
            コンテキストを翻訳します(-x, -y);
        }
        for (var i = 0; i <= 5; i++) { //検証コードに線を表示します context.strokeStyle = randomColor();
            コンテキスト.beginPath();
            コンテキストを移動します。(Math.random() * キャンバスの幅、Math.random() * キャンバスの高さ)
            context.lineTo(Math.random() * キャンバスの幅、Math.random() * キャンバスの高さ);
            コンテキスト.stroke();
        }
        for (var i = 0; i <= 30; i++) { //検証コードに小さなドットを表示します context.strokeStyle = randomColor();
            コンテキスト.beginPath();
            var x = Math.random() * キャンバス幅;
            var y = Math.random() * canvas_height;
            コンテキストを移動します(x, y);
            コンテキスト.lineTo(x + 1, y + 1);
            コンテキスト.stroke();
        }
    }

    //ランダムな色の値を取得する function randomColor() {
        var r = Math.floor(Math.random() * 256);
        var g = Math.floor(Math.random() * 256);
        var b = Math.floor(Math.random() * 256);
        "rgb(" + r + "," + g + "," + b + ")" を返します。
    }

</スクリプト>
</html>

効果は以下のとおりです

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

以下もご興味があるかもしれません:
  • js QRコードスキャンログインの原理についての簡単な説明
  • js を使用して QR コードを生成するサンプル コード
  • 動的 QR コードを作成するための Three.js サンプル コード
  • QRコードを生成するときにqrcode.jsが空のdivを定義する必要があるという問題を解決する
  • WeChatのQRコードスキャン機能をjsで呼び出す実装コード
  • JSはバーコードスキャナでQRコードをスキャンする機能を実現します
  • ネイティブ JavaScript に基づいて画像付きの QR コードを生成する方法
  • JavaScript を使用して QR コードを解析する 3 つの方法

<<:  Mysql データベースの日付と日時型でデフォルト値 0000-00-00 を設定するときに発生するエラー問題の詳細な説明

>>:  MySQL (8 および 5.7) の Docker インストール

推薦する

MySQL学習データベース操作DML初心者向け詳細解説

目次1. ステートメントを挿入する1.1 行を挿入する1.2 複数行を挿入する1.3 クエリステート...

HTML+JS に基づくシンプルな年齢計算ツールの実装

目次序文デモンストレーション効果HTMLコードCSSコードJavascriptコードデモアドレス序文...

CSS3 で z-index が効かない問題の解決方法

最近、CSS3 と js の組み合わせを作成したのですが、z-index が有効にならないケースが多...

DockerにrockerChatをインストールし、チャットルームを設定するための詳細な手順

包括的なドキュメントgithubアドレスhttps://github.com/RocketChat/...

mysql8.0.20 のダウンロードとインストールおよび発生した問題 (図とテキスト)

1.ブラウザでmysqlを検索してダウンロードしてインストールしますアドレス: https://d...

JavaScriptにおける評価戦略の詳細な説明

目次それを覆う栗パラメータの受け渡し値渡し共同配送要約する拡張機能 - 遅延評価私は最近、JavaS...

MACOS で MySQL ルートパスワードを忘れた場合の解決策

MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...

Linuxの運用と保守、基本的なプロセス管理、リアルタイム監視と制御

目次1. バックグラウンドで実行されるジョブ2. 信号を使用してプロセスを制御する基本的なプロセス管...

HTML におけるベースタグの使用に関する詳細な説明

requireJS には、baseURL というプロパティがあります。baseURL を設定すること...

Linux 上でプライベート Git サーバーを構築するための詳細なチュートリアル

1. サーバーのセットアップリモート リポジトリは実際にはローカル リポジトリと何ら変わりなく、純粋...

よく使用される MySQL 関数の完全なリスト (分類および要約)

1. 数学関数ABS(x) xの絶対値を返します。 BIN(x) xの2進値を返します(OCTは8...

Vue.jsは背景テーブルコンポーネントのカプセル化を管理します

目次問題分析なぜカプセル化なのかパッケージの内容は何ですか?テーブルコンポーネントをカプセル化するデ...

マインスイーパゲームを実装するための jQuery プラグイン (1)

この記事では、jQueryプラグインを使用したマインスイーパゲームの最初の記事の具体的なコードを参考...

docker compose デプロイメントにおけるマスタースレーブレプリケーションの実装

目次構成解析サービス構築ディレクトリ構造ファイルを作成インスタンス構成サービスを開始するテストRed...

JS はランダム点呼システムを実装します

参考までに、JSを使用してランダム点呼システムを実装します。具体的な内容は次のとおりです。毎回の授業...