canvasおよびjsを使用して検証コードを簡単に生成する方法
4652 ワード
多くの場合、検証コードが必要であり、フロントエンド検証コードはHtml 5のcanvas知識点を知る必要がある.認証コード生成ステップは、1.キャンバスcanvas 2を生成します.乱数認証コード3を生成する.キャンバスに干渉線4を生成する.キャンバスに認証コードのテキストを埋め込む.キャンバスをクリックして認証コードを交換
構造とスタイル:
次にjsコードを記述します.
これにより、一般的な検証コードが作成されます.もちろん、干渉線のランダムな色、干渉点の追加、テキストのランダムな位置のランダムな色など、最適化する必要がある点もたくさんあります.早速行ってみよう~
転載先:https://www.cnblogs.com/heyujun-/p/6658549.html
構造とスタイル:
次にjsコードを記述します.
/* 4 */
function rand(){
var str="abcdefghijklmnopqrstuvwxyz0123456789";
var arr=str.split("");
var validate="";
var ranNum;
for(var i=0;i<4;i++){
ranNum=Math.floor(Math.random()*36); // [0,35]
validate+=arr[ranNum];
}
return validate;
}
/* x */
function lineX(){
var ranLineX=Math.floor(Math.random()*90);
return ranLineX;
}
/* y */
function lineY(){
var ranLineY=Math.floor(Math.random()*40);
return ranLineY;
}
function clickChange(){
var mycanvas=document.getElementById('mycanvas');
var cxt=mycanvas.getContext('2d');
cxt.fillStyle='#000';
cxt.fillRect(0,0,90,40);
/* 20 */
for(var j=0;j<20;j++){
cxt.strokeStyle='#fff';
cxt.beginPath(); // beginPath,
cxt.moveTo(lineX(),lineY());
cxt.lineTo(lineX(),lineY());
cxt.lineWidth=0.5;
cxt.closePath();
cxt.stroke();
}
cxt.fillStyle='red';
cxt.font='bold 20px Arial';
cxt.fillText(rand(),25,25); // rand() canvas
}
clickChange();
/* */
mycanvas.onclick=function(e){
e.preventDefault(); //
clickChange();
};
これにより、一般的な検証コードが作成されます.もちろん、干渉線のランダムな色、干渉点の追加、テキストのランダムな位置のランダムな色など、最適化する必要がある点もたくさんあります.早速行ってみよう~
転載先:https://www.cnblogs.com/heyujun-/p/6658549.html