利用canvas製作簡易的驗證碼

2021-09-24 07:55:59 字數 1137 閱讀 5400

製作簡易驗證碼的前提是,要學會canvas,懂得canvas的基本使用。

不會的同學,這裡推薦乙個學習canvas的**:

canvas入門基礎系列 by tg_w3cschool

驗證碼,其存在的意義便是防止有人用計算機完成大量的重複性的操作(例:暴力破解密碼,註冊廣 告號等)。生成計算機識別不了或難以識別的附帶資訊的,便可以生成驗證碼。

驗證碼生成的資訊不能唯一,我們可以建議乙個「字元資訊陣列」

//字元資訊陣列

let array = new array('0','1','2','3','4','5','6','7','8','9',

'a','b','c','d','e','f','g','h','i','j','k',

'l','m','n','o','p','q','r', 's','t','u','v',

'w','x','y','z');

利用隨機數取陣列下邊來取出相應的字元資訊,並記錄起來,一般只需要取出並記錄4個字元資訊。為了使驗證碼更難識別,我們可以使字元產生一定的傾斜(不要超出界太多)

let array = new array('0','1','2','3','4','5','6','7','8','9',

'a','b','c','d','e','f','g','h','i','j','k',

'l','m','n','o','p','q','r', 's','t','u','v',

'w','x','y','z');

if(canvas.getcontext)

}

成功畫出驗證碼後,我們可以將這段**寫成函式形式,引數傳畫筆,返回值為驗證碼字串

function createcode(cxt)

//返回驗證碼字串

return code;

}

在這裡,我只是提出了canvas製作簡易的驗證碼的大體思路。順著這個思路,還可以對此函式進行改進,使其更加完美。畫驗證碼的步驟,不侷限於將字元傾斜,各位可以自行新增一些「障眼」的東西(例如:貫穿的線條,背景的顏色等)。

簡單實現驗證碼的乙個html**:

重新整理

canvas製作簡易寫字板

實現思路 滑鼠按下,滑鼠移動,滑鼠鬆開時所經過的地方進行連線。實現 mycanvas width 500 height 600 style border 1px solid red canvas 獲得畫布容器 var mycanvas document.queryselector mycanvas ...

利用樹製作的簡易家譜

ifndef parentschildren h included define parentschildren h included include include define maxsize 100 typedef struct anode arcnode typedef struct jdd...

利用canvas實現滑動驗證功能

html 滑動驗證 css body canva block versliderblock bar bar mask js 繪製滑塊 新增移動事件 var block slider document.queryselector block var slider document.queryselec...