react实现文字验证,图片验证功能

插件react-captcha-code

import React, { Component } from 'react'
import Captcha from 'react-captcha-code'
const numberCode = (n, m) => {  //动态生成验证码
    var str = ''
    for (var i = 0; i < 4; i++) {
        str += Math.round(Math.random() * (n - m) + m)
    }
    return str
}
export default class Captchas extends Component {
    constructor(props) {
        super(props)
        this.state = {
            code: numberCode(0, 9)
        }
        this.codeInput = React.createRef()
    }
    handleClick = () => { 
        this.setState({
            code: numberCode(0, 9)
        })
    }
    changeInput = () => {
        if (this.codeInput.current.value == this.state.code) {//验证码与输入值进行比较
            console.log("success")
        }
        else
            console.log('failed')
    }
    codecfn=()=>{
     if (this.codec.value == this.state.code) {//验证码与输入值进行比较
            console.log("success")
        }
        else
            console.log('failed')
    }
    render() {
        return (
            <div>
                <Captcha onClick={this.handleClick} code={this.state.code} />
                <br />
                <input type="text" ref={this.codeInput} />
                <button onClick={this.changeInput}> dd</button>
                <br />
                <input type="text" ref={c=>this.codec=c} />
                <button onClick={this.codecfn}> dd</button>
            </div>
        )
    }
}

效果图如下:
在这里插入图片描述

插件 react-simple-verify

import React, { Component } from 'react'
import ReactSimpleVerify from 'react-simple-verify'
import 'react-simple-verify/dist/react-simple-verify.css'
export default class CaptchaCode extends Component {
    success(){
        alert('成功之后可以再这里进行其他操作')
    }
    reset=()=>{ //重置
        const $verify = this.refs.verify 
        $verify.reset()
        this.setState({
          isPass: false
        })
    }
    render() {
        return (
            <div>
                <ReactSimpleVerify ref="verify" success={ this.success.bind(this) } />
                <button onClick={this.reset}>reset</button>
            </div>
        )
    }
}

效果图如下:

在这里插入图片描述

在这里插入图片描述

图片验证

链接:https://blog.csdn.net/weixin_33946605/article/details/88624320

参考

可以在官网npmjs.com上搜索上面的插件查看详细的内容

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值