天天看點

用ajax寫驗證碼随機數,JavaScript随機驗證碼

利用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

用ajax寫驗證碼随機數,JavaScript随機驗證碼

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&plus;css

HTML----------------------------------------------html>

C&num;生成随機驗證碼例子

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&lowbar;way&comma;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&period; 單詞搜尋&lpar;DFS&rpar;

描述 給出一個二維的字主機闆和一個單詞,尋找字主機闆網格中是否存在這個單詞. 單詞可以由按順序的相鄰單元的字母組成,其中相鄰單元指的是水準或者垂直方向相鄰.每個單元中的字母最多隻能使用一次. 樣例 給出 ...

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 ...