1. 程式人生 > >5分鐘教你3種實現驗證碼功能

5分鐘教你3種實現驗證碼功能

<script type="text/javascript" src="js/jquery-3.3.1.min.js" ></script>
<script>
    $(function(){
        var show_num = [];
        draw(show_num);

        $("#canvas").on('click',function(){
            draw(show_num);
        })
        $(".btn").on('click',function(){
            
var val = $(".input-val").val().toLowerCase(); var num = show_num.join(""); if(val==''){ alert('請輸入驗證碼!'); }else if(val == num){ alert('提交成功!'); $(".input-val").val(''); // draw(show_num); }
else{ alert('驗證碼錯誤!請重新輸入!'); $(".input-val").val(''); // draw(show_num); } }) }) //生成並渲染出驗證碼圖形 function draw(show_num) { var canvas_width=$('#canvas').width(); var canvas_height=$('#canvas').height();
var canvas = document.getElementById("canvas");//獲取到canvas的物件,演員 var context = canvas.getContext("2d");//獲取到canvas畫圖的環境,演員表演的舞臺 canvas.width = canvas_width; canvas.height = canvas_height; 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;//文字在canvas上的x座標 var y = 20 + Math.random() * 8;//文字在canvas上的y座標 context.font = "bold 23px 微軟雅黑"; context.translate(x, y); context.rotate(deg); context.fillStyle = randomColor(); context.fillText(txt, 0, 0); context.rotate(-deg); context.translate(-x, -y); } for (var i = 0; i <= 5; i++) { //驗證碼上顯示線條 context.strokeStyle = randomColor(); context.beginPath(); context.moveTo(Math.random() * canvas_width, Math.random() * canvas_height); context.lineTo(Math.random() * canvas_width, Math.random() * canvas_height); context.stroke(); } for (var i = 0; i <= 30; i++) { //驗證碼上顯示小點 context.strokeStyle = randomColor(); context.beginPath(); var x = Math.random() * canvas_width; var y = Math.random() * canvas_height; context.moveTo(x, y); context.lineTo(x + 1, y + 1); context.stroke(); } } //得到隨機的顏色值 function randomColor() { var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); return "rgb(" + r + "," + g + "," + b + ")"; } </script>

相關推薦

5分鐘3實現驗證功能

<script type="text/javascript" src="js/jquery-3.3.1.min.js" ></script> <script> $(function(){ var show_num = []; dra

5分鐘學會Django系統錯誤監控

使用 推薦 gin 資料 tps 發現 ror python開發 包括 一、監控所有的request請求 如何實現系統監控,自動發送錯誤日誌的郵件呢? 只需配置配置settings文件即可。 1.設置發送郵件配置信息 郵件會發送到ADMINS設定的郵件列表中。 SERVE

Python | 5分鐘學會Django系統錯誤監控

話不多說,直入正題。 先上圖,看一下監控的效果。 如下是監控我們網站系統錯誤的郵件。包含了請求的url地址,以及詳細的異常資訊。 一、監控所有的request請求 如何實現系統監控,自動傳送錯誤日誌的郵件呢?只需配置配置settings檔案即可。 1.設定傳送郵件配置資訊 郵件會發送到ADMI

5分鐘發行ERC20代幣和代幣生態

上一篇文章用不專業、入門的語言分享了一下筆者理解的代幣價值。本文將講述一下代幣生態的運作、如何發行代幣以及如何用一門常用的程式語言(Java)操作它。 雖然類似的文章一搜一大堆,但是根據筆者的實踐,幾乎很少有一篇文章可以真的把整個流程講解的透徹,並且無障礙的實踐落地,所

10分鐘用Python實現微信自動回覆

01 前言&&效果展示 相信大家都有忙碌的時候,不可能一直守在微信上及時回覆訊息。但微信又不能像QQ一樣設定自動回覆。無妨,今天,我們就來用Python實現微信的自動回覆功能吧,並且把接收到的訊息統一發送到檔案助手裡面,方便統一檢視。 效果如下: 02 環境準備 Python版本:3.6

手把手玩轉12306驗證的秘密!

這樣的 隨機數 結構 實現 把手 session 劃分 技術交流 簡單的 12306相信對很多小夥伴都不陌生,假如問你對這個網站的印象的時候,你不是會立即想起那個坑爹的驗證碼,而正是這個驗證碼,也一時間成為小夥伴們討論的話題,今天思夢PHP就給大家帶來他的實現辦法,純屬技術

手把手繪制網頁驗證

ucc success blur script ack pattern instance javascrip ext 驗證碼 本文的中的驗證碼使用Java的awt進行繪制,樣式如下圖所示 接下來開始進行繪制。 (1)創建一個Web項目,項目的目錄結構如下 (

經驗分享:thinkphp 5是如何實現驗證功能

        現在不管使用什麼系統,都需要進行各式各樣的身份驗證,在各種專案中驗證碼是必須會用到的,驗證碼從誕生開始就是為了區別出到底是人類操作,還是機操作。它在一定程度上可以提高網站的安全性,可以

Python使用Timer實現驗證功能

input thread sel def AC check cache IT imp from threading import Timer import random class Code: def __init__(self): s

Spring中整合Cage,實現驗證功能

ger 類型 body match exce sub pom esp rec 1.pom.xml中添加Cage依賴。 <dependency> <groupId>com.github.cage</groupId

PHP JS CSS session實現驗證功能

驗證碼 ges ron oss art tex lse 個數 bcd PHP JS CSS session實現驗證碼功能 頁面<?php//校驗驗證碼if (isset($_POST["authcode"])) {session_start();

SpringMVC實現驗證功能

yui eat cat import inpu expires 否則 void pos 下面是一張項目結構圖,實現功能前需要先搭建好SpringMVC框架。 RandomValidateCode.java——是生成驗證碼的類 Constants.java——定義了一個常量

canvas實現驗證功能

code 區分大小寫 font num type move style lower 輸入 我們在做一些後臺系統登錄功能的時候,一般都會用到驗證碼,最多的就是後臺生成的驗證碼圖片返回給前端的。也可以不調用後端接口,前端使用canvas直接生成驗證碼。 由於功能過於簡單,不需要

【短信插件】雲EC雲商系統如何實現驗證功能

版權 安裝 系統 數據 後臺 文章 並保存 註冊驗證碼 net 找到了一家不錯的短信插件,有需要對接的可以查看學習,在這邊分享一下,有需要的可以詳細看看,了解一下。http://www.ihuyi.com/ 插件說明本插件系互億無線針對雲EC雲商系統短信插件開發,插件內的所

django 實現驗證功能

這是我做的驗證碼的效果圖,可能 在這裡我是通過django框架實現的 下面是主要功能塊,思路是建立畫布和畫筆,然後通過隨機數生成隨機字元,隨機顏色,隨機點,然後組合成為的一張圖片 def getVerificationCode(request): #建立畫布

Django中實現驗證功能

安裝Pillow pip install Pillow==3.4.1 windows下如果安裝報錯: 點選此處 下載對應的版本到本地,下載到那裡,就去那個目錄下: pip install Pi

Java實現驗證功能

package com.suse; import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException

SSO單點登入系列5:cas單點登入增加驗證功能完整步驟

本篇教程cas-server端下載地址:解壓後,直接放到tomcat的webapp目錄下就能用了,不過你需要登入的話,要修改資料來源,C:\tomcat7\webapps\casServer\WEB-INF\deployerConfigContext.xml,嗯。地址

---使用HttpSession實現驗證功能

原理 原理和使用session來防止表單重複提交一樣,只是在提交的時候,將表單中隱藏域替換成接受使用者輸入的內容。 實現 index.jsp: <%@ page language="java" import="java.util.*" page

Java實現驗證功能例項

Java如何實現驗證碼驗證功能呢?日常生活中,驗證碼隨處可見,他可以在一定程度上保護賬號安全,那麼他是怎麼實現的呢? Java實