fly63前端网

www.fly63.com

首页文章资源工具教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

关闭

提交网站

svg-captcha
分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/lemonce/svg-captcha
网站描述:svg 图片验证码

在node.js中生成svg格式的验证码  


什么情况下使用SVG验证码?

  • 无法使用 google recaptcha
  • 无法安装 c++ 模块


安装

npm install --save svg-captcha


使用方法

var svgCaptcha = require('svg-captcha');

var c = svgCaptcha.create();
console.log(c);
// {data: '<svg.../svg>', text: 'abcd'}

在 express中使用

var svgCaptcha = require('svg-captcha');

app.get('/captcha', function (req, res) {
	var captcha = svgCaptcha.create();
	req.session.captcha = captcha.text;
	
	res.type('svg');
	res.status(200).send(captcha.data);
});

api

svgCaptcha.create(options)

如果没有任何参数,则生成的 svg 图片有4个字符。

  • size: 4 // 验证码长度
  • ignoreChars: '0o1i' // 验证码字符中排除 0o1i
  • noise: 1 // 干扰线条的数量
  • color: true // 验证码的字符是否有颜色,默认没有,如果设定了背景,则默认有
  • background: '#cc9966' // 验证码图片背景颜色

该函数返回的对象拥有以下属性

  • data: string // svg 路径
  • text: string // 验证码文字

svgCaptcha.createMathExpr(options)

和前面的 api 的参数和返回值都一样。不同的是这个 api 生成的 svg 是一个算数式,而 text 属性上是算数式的结果。不过用法和之前是完全一样的。

svgCaptcha.loadFont(url)

加载字体,覆盖内置的字体。

  • url: string // 字体文件存放路径 该接口会调用opentype.js同名的接口。 你可能需要更改一些配置才能让你得字体好看。
    详见下面的这个接口:

svgCaptcha.options

这是全局配置对象。 create和createMathExpr接口的默认配置就是使用的这个对象。

除了 size, noise, color, 和 background 之外,你还可以修改以下属性:

  • width: number // width of captcha
  • height: number // height of captcha
  • fontSize: number // captcha text size
  • charPreset: string // random character preset

svgCaptcha.randomText([size|options])

返回随机字符串

svgCaptcha(text, options)

返回基于text参数生成得svg路径
在 1.1.0 版本之前你需要调用上面的两个接口,但是现在只需要调用 create()
一个接口就行,可以少打几个字了 (^_^)/


链接: https://fly63.com/nav/2734

more>>
相关栏目
Express
基于 Node.js 平台,快速、开放、极简的 web 开发框架
官网GitHub
pm2
pm2 是一个带有负载均衡功能的Node应用的进程管理器
官网GitHub
Koa
基于 Node.js 平台的下一代 web 开发框架
官网GitHub
Egg.js
为企业级框架和应用而生
官网GitHub
Primus
通用包装器实时框架
点击进入GitHub
Electrode
一个用于构建通用 React / Node.js 应用程序的平台
点击进入GitHub
faye-websocket
Node.js 应用程序中命令预先存在的 WebSocket 连接
点击进入GitHub
vm2
一个Node.js 官方 vm 库的替代品
点击进入GitHub
node-opencv
node视觉算法库
官网GitHub
node-xml2js
Json与xml相互转化的工具
点击进入GitHub
node-red
一套开源可视化界面开发工具
官网GitHub
polemo
网易开源的游戏后端框架
点击进入GitHub
AdonisJs
一款类似laravel的node.js框架
官网GitHub
GitBook
基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。
官网
nodebestpractices
NodeJS最佳实践
官网GitHub
Inquirer.js
NodeJs交互式命令行工具
点击进入GitHub

手机预览