node 图片验证码库

验证码演示

有库不用是傻逼,这个库有三组图片分别是red gray green ,其中red里面只是数字,不建议使用,剩下两个有字母和数字。

下面是一个老外写的例子,我就是直接参考它写的代码的。https://github.com/liangzeng/validat-num-demo

代码

1
2
3
4
5
6
7
8
9
10
11
12
var PW = require("png-word");
var pw = PW(PW.GRAY); //这里可以选GRAY PNGWord RED
var r = require("random-word")("abcdefghijklmnopqrst0123456789");

const validat = (req, res) => {
var numtxt = req.session.validat_num = r.random(4);
pw.createPNG(numtxt,function(pngnum){
res.send(pngnum);
})
}

module.exports = validat
1
2
3
4
5
6
<div class="remember">
<label for="remember-me">
<img src="/admin/validat" />
</label>
<input name="validat" type="text" />
</div>

注意

  1. 需要 png-word random-word 这两个库
  2. 本人是在express下使用的,除了图片样式不咋地,贼好用
  3. 只是一个简单的数字加字母验证码,如果要反爬虫就直接用第三方验证码服务吧