一般表單中都有驗(yàn)證碼,網(wǎng)易易盾有個(gè)驗(yàn)證碼服務(wù),有些驗(yàn)證做的挺好看。
比如有滑動(dòng)拼圖驗(yàn)證:

1.jpg
還有點(diǎn)選驗(yàn)證:

2.jpg
網(wǎng)易易盾提供接口,每個(gè)用戶有一個(gè)免費(fèi)ID。但是如果需要更多驗(yàn)證的話就得購買此服務(wù),
網(wǎng)站與教程地址:http://dun.163.com/product/captcha
除了網(wǎng)易易盾,還有一個(gè)geetest和網(wǎng)易易盾差不多,具體要不要錢還沒去了解
網(wǎng)站地址: http://www.geetest.com/case
今天講的不是這些,是比較基本的輸入驗(yàn)證:

3.jpg
別看low。知識(shí)點(diǎn)還是不錯(cuò)的。
html:
<html>
<head>
<title>驗(yàn)證碼</title>
<style type="text/css">
#code
{
font-family:Arial;
font-style:italic;
font-weight:bold;
border:0;
letter-spacing:2px;
color:blue;
}
</style>
<script type = "text/javascript" src = "checkCode.js">
</script>
</head>
<body>
<div>
<input type = "text" id = "input"/> <br />
<input type = "button" id="code" onclick="createCode()"/>
<input type = "button" value = "驗(yàn)證" onclick = "validate()"/>
</div>
</body>
</html>
js
var code ; //在全局定義驗(yàn)證碼
//產(chǎn)生驗(yàn)證碼
window.onload = createCode;
function createCode(){
code = "";
var codeLength = 4;//驗(yàn)證碼的長(zhǎng)度
var checkCode = document.getElementById("code");
var random = 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');//隨機(jī)數(shù)
for(var i = 0; i < codeLength; i++) {//循環(huán)操作
var index = Math.floor(Math.random()*36);//取得隨機(jī)數(shù)的索引(0~35)
code += random[index];//根據(jù)索引取得隨機(jī)數(shù)加到code上
}
checkCode.value = code;//把code值賦給驗(yàn)證碼
}
//校驗(yàn)驗(yàn)證碼
function validate(){
var inputCode = document.getElementById("input").value.toUpperCase(); //取得輸入的驗(yàn)證碼并轉(zhuǎn)化為大寫
if(inputCode.length <= 0) { //若輸入的驗(yàn)證碼長(zhǎng)度為0
alert("請(qǐng)輸入驗(yàn)證碼!"); //則彈出請(qǐng)輸入驗(yàn)證碼
}
else if(inputCode != code ) { //若輸入的驗(yàn)證碼與產(chǎn)生的驗(yàn)證碼不一致時(shí)
alert("驗(yàn)證碼輸入錯(cuò)誤!@_@"); //則彈出驗(yàn)證碼輸入錯(cuò)誤
createCode();//刷新驗(yàn)證碼
document.getElementById("input").value = "";//清空文本框
}
else { //輸入正確時(shí)
alert("Right");
}
}