利用canvas制作一個随機驗證碼:
1、clearRect:context.clearRect(x,y,width,height);清空給定矩形内的指定像素
2、fillStyle:設定畫筆的顔色
3、rotate(deg):旋轉角度,以弧度旋轉(弧度=degrees*Math.PI/180 )
4、translate(): 方法重新映射畫布上的位置
5、Math.random():擷取0-1之間的一個随機數,不包含1
canvas随機驗證碼
var myCanvas = document.querySelector("#canvas");
var blur = myCanvas.getContext("2d");
// 當點選畫布時建立一個新的路徑
// 驗證碼封裝
myCanvas.onclick = function() {
// 實作點選畫布建立一個新的驗證碼
blur.clearRect(0,0,100,40);
verify();
}
verify();
function verify() {
// 繪制矩形框
// blur.strokeRect(0,0,100,40);
// 随機驗證碼
var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "s", "t", "u",
"v", "w", "x", "y", "z", "A", "B", "C", "D", "F", "G", "H", "I", "J", "K", "L", "S", "T", "U", "V", "W", "X", "Y",
"Z"
];
// 顯示四位數的驗證碼
for (var i = 0; i < 4; i++) {
var x = 20 + 20 * i;
var y = 20 + 10 * Math.random();
// console.log(x,y);
// 在數組中擷取到随機的索引整數
var index = Math.floor(Math.random() * arr.length);
// 通過随機的索引擷取到随機的元素
var texts = arr[index];
// 設定驗證碼的相關樣式
blur.font = "bold 20px 微軟雅黑";
blur.fillStyle = textColor();
// 畫布旋轉顯示
// translate() 方法重新映射畫布上的位置
blur.translate(x, y);
// 将畫布旋轉,旋轉角度,以弧度旋轉(弧度=degrees*Math.PI/180 )
var deg = 90 * Math.random() * Math.PI / 180;
blur.rotate(deg); //
blur.fillText(texts, 0, 0);
// 将畫布映射傳回原來的位置
blur.rotate(-deg);
blur.translate(-x, -y);
}
// 制作驗證碼的幹擾線制作
for(var i=0;i<6;i++){
blur.beginPath();
blur.moveTo(Math.random()*100,Math.random()*40);
blur.lineTo(Math.random()*100,Math.random()*40);
// 設定幹擾線的顔色
blur.strokeStyle=textColor();
blur.stroke();
}
// 制作驗證碼的幹擾圓點
for(var i=0;i<20;i++){
blur.beginPath();
var x=Math.random()*100;
var y=Math.random()*100;
blur.moveTo(x,y);
blur.lineTo(x+1,y+1);
// 設定幹擾線的顔色
blur.strokeStyle=textColor();
blur.stroke();
}
}
// 擷取随機顔色封裝
function textColor(){
var red=Math.floor(Math.random()*256);
var green=Math.floor(Math.random()*256);
var blue=Math.floor(Math.random()*256);
return "rgb("+red+","+green+","+blue+")";
}
x
要清除的矩形左上角的 x 坐标
y
要清除的矩形左上角的 y 坐标
width
要清除的矩形的寬度,以像素計
height
要清除的矩形的高度,以像素計
僞驗證碼(含随機驗證碼方法)js+css
HTML----------------------------------------------html>
C#生成随機驗證碼例子
C#生成随機驗證碼例子: 前端:
...
php實作動态随機驗證碼機制(CAPTCHA)
php實作動态随機驗證碼機制 驗證碼(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Ap ...
python筆記-20 django進階 (model與form、modelform對比,三種ajax方式的對比,随機驗證碼,kindeditor)
一.model深入 1.model的功能 1.1 建立資料庫表 1.2 操作資料庫表 1.3 資料庫的增删改查操作 2.建立資料庫表的單表操作 2.1 定義表對象 class xxx(models.M ...
PYTHON 随機驗證碼生成
# 生成一個六位随機驗證碼 import random # random 生成随機數 temp = '' for i in range(6): num = random.randrange(0,6) ...
Java生成随機驗證碼
package com.tg.snail.core.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...
js用正規表達式驗證使用者和密碼的安全性,生成随機驗證碼
制作了一個表單,表單驗證使用者.密碼.随機驗證碼 html頁面
php學習筆記:利用gd庫生成圖檔,并實作随機驗證碼
說明:一些基本的代碼我都進行了注釋,這裡實作的驗證碼位數.需要用的字元串都可以再設定.有我的注釋,大家應該很容易能看得懂. 基本思路: 1.用mt_rand()随機生成數字确定需要擷取的字元串,對字元 ...
python_way,day4 内置函數(callable,chr,随機驗證碼,ord),裝飾器
python_way,day4 1.内置函數 - 下 制作一個随機驗證碼 2.裝飾器 1.内置函數 - 下 callable() #對象能否被調用 chr() #10進制數字對應的ascii碼表中的内 ...
随機推薦
實作LRU的兩種方法---python實作
這也是豆瓣2016年的一道筆試題... 參考:http://www.3lian.com/edu/2015/06-25/224322.html LRU(least recently used)就不做過多 ...
【20140113】package 與 import
一個完整的java源程式應該包括下列部分: package語句: //該部分至多隻有一句,必須放在源程式的第一句 import語句: public classDefinition: //公共類定義部分 ...
《轉》15種CSS混合模式讓圖檔産生令人驚豔的效果
浏覽器支援 按照現在情況來講, 浏覽器支援 CSSbackground-blend-mode屬性還在不斷的完善中.早期版本的浏覽器目前還不支援,但caniuse.com報告說在Chrome,Firef ...
123. 單詞搜尋(DFS)
描述 給出一個二維的字主機闆和一個單詞,尋找字主機闆網格中是否存在這個單詞. 單詞可以由按順序的相鄰單元的字母組成,其中相鄰單元指的是水準或者垂直方向相鄰.每個單元中的字母最多隻能使用一次. 樣例 給出 ...
npm介紹和使用
# npm 介紹 > 概念 : node 包管理工具 > 作用 : 通過 npm 來快速下載下傳/安裝項目中依賴的包 > 檢視 版本号 : npm -v # npm 基本使用示範 ...
誰為你的app撿肥皂
2048奇迹,是大多數個人開發者的夢寐以求的期望.而做出flappy bird這樣跨時代的遊戲,則能夠讓我們賺的盆滿缽滿.那麼我們怎麼樣使我們app與衆不同,脫穎而出了. 我們這些凡夫俗子程式員們,對 ...
select case when if 的一些用法
概述:sql語句中的case語句與進階語言中的switch語句,是标準sql的文法,适用于一個條件判斷有多種值的情況下分别執行不同的操作. 首先,讓我們看一下CASE的文法.在一般的SELECT中,其 ...
unity3d插件Daikon Forge GUI 中文教程-3-基礎控件Button和Sprite的使用
(遊戲蠻牛首發)大家好我是孫廣東.官網提供了專業的視訊教程http://www.daikonforge.com/dfgui/tutorials/,隻是是在youtube上.要觀看是須要FQ的. 隻是教 ...
修改zend studio字型大小
第一步:進入設定視窗 windows -> preferences第二步:進入修改字型的頁籤. General -> Appearance -> Colors and ...