js 前端密码强度检测zxcvbn的使用(含react示例)

简介: js 前端密码强度检测zxcvbn的使用(含react示例)

目录


下载包


yarn add zxcvbn

npm i zxcvbn -S

在页面引入并使用


import zxcvbn from 'zxcvbn';

zxcvbn是个函数,入参是字符串也就是用于检测的密码。

zxcvbn('123456abc!!!')

函数返回一个对象:


其中与密码强度相关的有guesses、guesses_log10、score。

guesses数据比较大不好判断。

score得分只有0~4整数范围没有小数,变化不够丰富,但是在特定需求的情况下也可以使用。

推荐使用guesses_log10,可以将密码强度的弱、中、强分为0 ~ 4、4 ~ 8、8~12及以上。

image.png

结合h5的meter标签


react中为例:

import React, { Component } from 'react';
import zxcvbn from 'zxcvbn';
export default class index extends Component {
  state = {
    value: 0,
    msg: '',
  };
  render() {
    return (
      <div>
        <div>密码:</div>
        <input
          value={this.state.msg}
          onChange={e => {
            this.setState({
              msg: e.target.value,
              value: zxcvbn(e.target.value).guesses_log10,
            });
          }}
        ></input>
        <div>强度:</div>
        <meter min="0" max="12" low="4" high="8" optimum="10" value={this.state.value}></meter>
      </div>
    );
  }
}

image.png

image.png

相关文章
|
2月前
|
前端开发 JavaScript API
js实现promise常用场景使用示例
本文介绍JavaScript中Promise的6种常用场景:异步请求、定时器封装、并行执行、竞速操作、任务队列及与async/await结合使用,通过实用示例展示如何优雅处理异步逻辑,避免回调地狱,提升代码可读性与维护性。
253 10
|
3月前
|
编解码 前端开发 JavaScript
js react antd 实现页面低分变率和高分变率下字体大小自适用,主要是配置antd
在React中结合Ant Design与媒体查询,通过less变量和响应式断点动态调整`@font-size-base`,实现多分辨率下字体自适应,提升跨设备体验。
193 2
|
8月前
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
507 83
|
8月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
329 8
|
8月前
|
前端开发 JavaScript NoSQL
使用 Node.js、Express 和 React 构建强大的 API
本文详细介绍如何使用 Node.js、Express 和 React 构建强大且动态的 API。从开发环境搭建到集成 React 前端,再到利用 APIPost 高效测试 API,适合各水平开发者。内容涵盖 Node.js 运行时、Express 框架与 React 库的基础知识及协同工作方式,还涉及数据库连接和前后端数据交互。通过实际代码示例,助你快速上手并优化应用性能。
|
8月前
|
JavaScript 前端开发
|
8月前
|
存储 JavaScript 前端开发
|
8月前
|
移动开发 JavaScript 前端开发
|
8月前
|
存储 JavaScript 前端开发
|
8月前
|
JavaScript 前端开发