在前端开发中,验证码是一个常见的应用场景,在保护隐私、防止恶意攻击等方面都具有重要意义。而 js-captcha 是一个 npm 包,它提供了快速简便的验证码生成器,使得我们可以方便地集成验证码功能到我们的项目中去。
安装 js-captcha
安装 js-captcha 非常简单,我们可以直接在命令行中执行以下命令:
npm install js-captcha --save
js-captcha 使用
基础用法
使用 js-captcha 生成验证码的基本步骤如下:
- 载入 js-captcha 模块
const jsCaptcha = require("js-captcha");
- 创建验证码
const captcha = jsCaptcha();
- 渲染验证码
captcha.refresh();
其中,refresh()
方法是用来重新生成新的验证码图片和随机数字的。
- 获取验证码图片和数字
const captchaImgSrc = captcha.data; const captchaText = captcha.text;
此时,captchaImgSrc
变量中存放的是验证码图片的 base64 图片数据,captchaText
变量中存放的是验证码的随机数字。
自定义配置
除了基本用法之外,我们也可以通过自定义配置,使得生成的验证码图片满足我们的需求。
-- -------------------- ---- ------- ----- ------- - --------------------------------- ------ ---- ------- --- ------ ------- ----------- ------- ----------- ------- ------------ --------- ------- ----------- -- ----------- -- -- ------------------------------------ ---
配置项的意义如下:
width
: 验证码图片的宽度,默认为 300px。height
: 验证码图片的高度,默认为 150px。color
: 验证码文字的颜色,默认为随机色。background
: 验证码图片的背景颜色,默认为随机色。fontFamily
: 验证码文字的字体,默认为'Arial, sans-serif'
。fontSize
: 验证码文字的大小,默认为'30px'
。textLength
: 验证码的长度,默认为 4。randomText
: 随机码生成器,默认为随机生成 4 位数字。
例如,我们可以通过修改配置项,设置验证码图片的宽度、高度、随机码生成器等,来得到满足我们需求的验证码。
完整示例代码
以下是一个完整的 js-captcha 示例代码:
-- -------------------- ---- ------- ----- --------- - --------------------------------- ------ ---- ------- --- ------ ------- ----------- ------- ----------- ------- ------------ --------- ------- ----------- -- ----------- -- -- ------------------------------------ --- ----- ------- - ------------------- ----- --- - ---------- ------------ ------------- ---- - ----- ------- - ------------ ------------------ ----- ------------- - ------------- ----- ----------- - ------------- ---------- ----------- --------- ------ ------ ----------- ------------------ --- ------- ----- --------------- ---- ---------------------- ------------ ------ ------- ----------------------------- ------- --- --- ---------------- ---------- - ------------------- --------- -- ------------------------ ---
在这个示例中,我们使用 js-captcha 生成了一个自定义配置的验证码。在表单中,我们提供了一个 input 输入框供用户输入验证码,并且通过 <img>
标签插入了验证码图片,最后,当用户点击提交按钮时,我们可以通过表单提交用户输入的验证码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005601081e8991b448ddf88