JavaScript实现高强度密码校验

JavaScript高强度密码校验正则表达式包含特殊字符、数字、大、小写字母长度8到18位 需求相关 网站中一般都需要用户注册,然后才能登录网站。可是现在网络安全环境越来越差,密码如果太简单则很有可能被心怀叵测之人利用,进而可能让用户私密信息泄露或者是出现其他安全问题。所以在开发时需要考虑提升密码的安全等级,公司现在进行全体整改,所有项目中的弱口令的密码全部要求修改为安全等级较高的密码,最低要求是密码必须包含大、小写字母,数字,特殊字符,长度为8到18位。 需求实现... 阅读详情
  • 长度不低于8位,包括数字、小写字母、大写字母、特殊符号4类中至少2类

    ^(?![A-Z]+$)(?![a-z]+$)(?!\d+$)(?![\W_]+$)\S{8,}$
    

    (?![A-Z]+$) 匹配不全是大写字母

    (?![a-z]+$) 匹配不全是小写字母

    (?!\d+$) 匹配不全是数字

    (?![\W_]+$) 匹配不是大小写字母、不是数字、不是下划线的的字符串匹配,即特殊字符加上下划线_

  • 长度不低于8位,包括数字、小写字母、大写字母、特殊符号4类中至少3类

    方案一:一个正则表达式

    ^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![a-z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,}$
    

    (?![a-zA-Z]+$) 匹配不全是字母的字符串(大写字母+小写字母)

    (?![A-Z0-9]+$) 匹配不全是大写字母+数字

    (?![a-z0-9]+$) 匹配不全是小写字母+数字

    (?![A-Z\W_!@#%^&*`~()-+=]+) 匹配不全是大写字母+特殊字符

    (?![a-z\W_!@#%^&*`~()-+=]+) 匹配不全是小写字母+特殊字符

    (?![0-9\W_!@#%^&*`~()-+=]+) 匹配不全是数字+特殊字符

    [a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,} 匹配全是大写字母+小写字母+数字+特殊字符,最少8位
    方案二:多个正则表达式

    var regUpper = /[A-Z]/;
    var regLower = /[a-z]/;
    var regNum = /[0-9]/;
    var regTeShu =RegExp("[`~!@#$%^&*()=_|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?+-]");
    var complex = 0;
    if (regLower.test(this.editPasswordForm.newPass)) {
          ++complex;
    }
    if (regUpper.test(this.editPasswordForm.newPass)) {
          ++complex;
    }
    if (regNum.test(this.editPasswordForm.newPass)) {
         ++complex;
    }
    if(regTeShu.test(this.editPasswordForm.newPass)){
         ++complex;
    }
    if (complex < 3 || this.editPasswordForm.newPass.length < 8) {             
          return false;
    }else{
          return true;
    }
    
  • 含有字母、数字、特殊符号的三种及以上

    ^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$
    

    (?=.*[a-zA-Z]) 匹配含有字母(大写、小写、大小写)

    (?=.*\d) 匹配含有数字

    (?=.[~!@#$%^&()_+`-={}:";’<>?,./]) 匹配函数特殊字符

    .{8,20} 最少8位

JS实现检查密码强度函数 编写一个JS函数,基于如下规则确定给定密码的强度。 阅读详情

相关推荐

JavaScript密码强度校验代码:实现密码强度校验的技巧和建议

密码强度校验是在网页或应用程序中常见的一项功能,它可以帮助用户创建更安全的密码。在本文中,我们将使用JavaScript编写一个简单但有效的密码强度校验功能,并分享一些实用的技巧和建议。

TechNovaX的博客 687

用Javascript评估用户输入密码的强度

用Javascript评估用户输入密码的强度    1.如果密码少于5位,那么就认为这是一个弱密码。  2.如果密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码。  3.如果密码由数字、小写字母、大写字母或其它特殊符号当中的两种组成,则认为这是一个中度安全的密码。  4.如果密码由数字、小写字母、大写字母或其它特殊符号当中的三种以上组成,则认为这是一个比较安全的密

fighting_12的专栏 414

性格测评小程序06用户注册校验

本篇我们介绍了表单容器各种校验实现的逻辑,在做数据录入的时候,必要的校验规则是需要考虑的,增强业务校验可以提高数据质量,在后续集成的时候也比较方便。

低代码布道师的博客 894

js密码强度正则表达式_正则表达式之密码验证

要求密码长度 6-16 位,包含至少一个特殊字符,一个数字,一个大写字母和一个小写字母。正则表达式(?=^.{6,16}$)(?=(?:.*?d){1})(?=.*[a-z])(?=(?:.*?[A-Z]){1})(?=(?:.*?[`·~!@#$%^&*()_+}{|:;'",<.>/?=[]-]){1})(?!.*s)[0-9a-zA-Z`·~!@#$%^&*()_...

weixin_39759918的博客 494

JavaScript前端实现MD5加密技术详解

MD5,即消息摘要算法第五版(Message-Digest Algorithm 5),由罗纳德·李维斯特(Ronald Rivest)于1991年设计,用以替代更早的MD4算法。它被广泛用于确保信息传输完整一致。MD5算法最初是为64位系统设计的,但由于其出色的性能,它很快就成为了广泛使用的标准。MD5的设计初衷是为了给任意长度的数据生成一个128位的“指纹”或“摘要”,以确保信息的完整性。在计算机网络中,MD5主要被用于验证数据的完整性、为密码等敏感信息生成摘要等场景。

weixin_35649491的博客 1598

js正则表达式验证密码强度【推荐】

本文主要介绍了js利用正则表达式验证密码强度的实例,具有很好的参考价值。下面跟着小编一起来看下吧

密码验证正则表达式实战:从安全原理到全栈实现

密码验证是系统安全的基础防线,其核心原理在于通过增加密码的熵值来提升破解难度。在技术实现上,正则表达式是验证密码复杂度的关键工具,通过字符集匹配和零宽断言等技术,能够高效检查密码长度、大小写字母、数字及特殊字符的组合规则。从工程实践角度看,一个健壮的密码验证方案不仅需要精准的正则匹配,还需兼顾前后端协同、用户体验优化与安全存储。本文以常见的“8-20位必须包含大小写字母、数字和特殊字符”策略为例,深入探讨正则表达式的两种实现方案——零宽断言与多正则组合,并分析其在不同场景下的应用价值。通过结合前端实时反馈、

weixin_29327977的博客 292

Flowable第一篇、快速上手(Flowable安装、配置、集成)

Flowable是一个轻量级、高效可扩展的工作流和业务流程管理(BPM)引擎,支持在Java应用程序中实现复杂的工作流自动化。Flowable最初是作为Activiti项目的一个分支发展而来的,但它现在已经成为一个独立的开源项目,并在企业级应用中得到了广泛使用

Du_XiaoNan的博客 1万+

前端js密码强度校验插件

为具备密码强度要求(特别是等保项目)的前端项目,提供一套轻量、可复用、直观可视的解决方案,旨在提升系统安全性并优化开发体验。

u013899802的博客 943

FPGA之全数字锁相环(DPLL)

1. 数字锁相环的基本原理和组成 1.1 锁相环(PLL)的简介 锁相环最开始并不是用在数字电路中,而是模拟短路中。对于模拟电路中的锁相环,大家可以参考这篇文章稍微看一下,数字和模拟只是实现的方法不同,但是原理、步骤还是共同的。关于模拟PLL。可以参考一片文章: http://www.sohu.com/a/190569594_464086 首先在学习数字锁相环之前,我们应该先了解什么是锁相环?锁相...

DBLLLLLLLL的博客 5万+

Basler相机和pylon viewer 的使用

文章目录1 线路连接2 安装和使用pylon 1 线路连接 电源线接到电源插座,网线接到电脑(电脑没有网口的话,可用转换器转到type-c接口)。 2 安装和使用pylon 参考 Basler pylon安装及对网口相机基本设置 相机和电脑以太网IP设置参考:balser相机IP设置 关于相机参数和pylon viewer的详细设置,可以参考pylon Viewer安装路径下的文档(Documentation) ...

Deephome的博客 1万+

js实现密码强度校验

&lt;html&gt; &lt;head&gt; &lt;title&gt;JS判断密码强度&lt;/title&gt; &lt;script language=javascript&gt; //判断输入密码的类型 function CharMode(iN){ if (iN &gt;= 48 &amp;&amp; i...

半夏半暖半倾城的博客 3022

AIAgent知识表示与推理:基于本体论与规则引擎的实现

AIAgent知识表示与推理:基于本体论与规则引擎的实现 1. 背景介绍 人工智能(AI)系统的核心是知识表示和推理,这是实现智能行为的基础。在过去的几十年里,人工智能领域一直致力于研究如何有效地表示和推理知识,以支持智能系统的决策和行为。其中,基于本体论的知识表示和

AI天才研究院 1490

JS校验密码复杂度的正则表达式

1、密码中必须包含大小字母、数字、特称字符,至少8个字符,最多30个字符。 1 2 3 4 5 varregex =newRegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}'); if(!regex.test('123456@...

亿卢向倍的专栏 991

【嵌入式Linux驱动开发】二十四、Linux I2C 驱动上手尝试

  人的前程关于眼界、关乎格局。   志之所趋,无远弗届,穷山复海不能限也;   志之所向,无坚不入,锐兵精甲不能御也。 一、I2C驱动框架简介   Linux内核将 I2C 驱动分为两部分: ①、 I2C 总线驱动, I2C 总线驱动就是 SOC 的 I2C 控制器驱动,也叫做 I2C 适配器驱动。 ②、 I2C 设备驱动, I2C 设备驱动就是针对具体的 I2C 设备而编写的驱动。 1....

悟已往之不谏 知来者之可追 1068

【K210+STM32项目】基于K210与STM32协同工作的智能垃圾分类系统设计与实现(更新3.0版本)(完整工程资料源码)

STM32F407STM32F407_2(含有app功能)

嵌入式技术开发 2489

Javascript校验密码复杂度的正则表达式

1、密码中必须包含大小字母、数字、特称字符,至少8个字符,最多30个字符。 1 2 3 4 5 varregex =newRegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}'); if(!regex.test('123456@qq.com'))...

weixin_30287169的博客 545

Allegro172版本DFM功能介绍

Allegro172版本提供了实时DFM检查的功能,让违反要求的地方实时以DRC的形式报出来,让加工不可加工因素在设计的时候同步避免。打开Constraint,选择Manufacturing, 所有DFM相关DRC都在这。把所有下面DRC开关(DFM,DFA,DFT)都选择on,选择OK。这个规则和物理和间距规则等等都没有关系,单独的一个加工规则。这些DRC大部分是正常的,正常的可以去修改规则来消除。等待DRC刷新,板子上会出现很多DRC,类似下图。下面介绍如何调用和产生DFM规则。一直往下点击next。

weixin_54787054的博客 1337

使用jQuery实现密码强度校验实时显示

<!DOCTYPE html> <html> <head> <title>密码强度校验</title> <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascri...

Zijeak的博客 566

汽车电子零部件(14):TMS热管理系统

TMS(thermal management system)热管理系统,这是新能源汽车诞生后随之而产生的一种新汽车零部件,一旦热管理失控会触发自燃,这种现象也是对EV来说是件头疼的事。汽车的热管理系统(TMS)是一个关键部件,有助于调节汽车电池组、车厢和其他车辆系统的温度。TMS的主要目的是在驾驶过程中保持最佳的电池性能和乘客舒适度。TMS使用各种加热和冷却系统来调节电池组和车厢的温度,并通过优化其使用,降低能耗,提高车辆的整体效率。

码农17年的博客 3161

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

密码强度校验:正则表达式与程序逻辑的实战方案对比

正则表达式是处理字符串匹配与验证的核心工具,其通过模式定义实现高效的文本检索与规则校验。在用户认证与数据安全领域,密码强度校验是保障系统安全的基础环节,它要求密码满足特定字符组合规则,如包含大写字母、小写字母、数字及特殊字符中的多种类型。传统上,开发者常尝试使用单一复杂正则来实现“至少包含N种字符”的动态组合逻辑,但这可能导致表达式冗长、可维护性差。更优的工程实践是采用程序逻辑辅助计数方案,将复杂的组合判断交由代码处理,正则仅负责基础的字符存在性检查。这种方法在Web开发中平衡了灵活性、可维护性与性能,尤其

weixin_34195546的博客 657

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

OpenHarmony + RN:TextInput密码强度检测

TextInput是React Native中用于文本输入的核心组件,相当于Web中的。在密码场景中,它通过属性启用安全输入模式(显示圆点代替明文)。提供跨平台一致的输入体验支持丰富的输入控制(如自动纠错、键盘类型)通过事件回调实现动态验证在OpenHarmony环境下,TextInput的渲染依赖于HarmonyOS的TextField组件,但React Native for OpenHarmony通过自定义原生模块桥接,实现了与标准RN API的兼容。

Abin 905

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C# web程序js 与 后台密码强弱验证

1、js端验证 function checkPass(s) { if (s.length < 8) { return 0; } var ls = 0; if (s.match(/([a-z])+/)) { ls++; } if (s.match(/([0-9])+/)) { ls++; ...

zhaogaojian的专栏 118

Flutter 三方库 pbkdf2ns 的鸿蒙化适配指南 - 筑牢账户安全防线、在鸿蒙端实现高强度密码哈希与加盐实战

在进行 Flutter for OpenHarmony 的企业级应用开发时,用户密码的安全存储是不可逾越的底线。据统计,绝大多数的数据泄露伤害来自于弱哈希算法(如简单的 MD5)。pbkdf2ns库实现了一套工业级的密钥导出函数(PBKDF2),通过增加计算成本来对抗暴力解密。本文将教你如何利用该库在鸿蒙端侧构建一套防御力极强的账户安全体系。PBKDF2 (Password-Based Key Derivation Function 2) 的核心思想是“慢”。

jiang_style的博客 1346

Flutter 三方库 hash 的鸿蒙化实战 - 引入密码学哈希内核,碾碎数据防篡改与完整性校验的底层壁垒

摘要:本文介绍了如何在OpenHarmony(开源鸿蒙)应用中使用Flutter三方库hash实现密码学哈希功能,确保数据安全性和完整性。hash库支持MD5、SHA-1、SHA-256等算法,提供流式接口优化内存占用,适用于文件校验、密码存储等场景。文章详细解析了核心原理、API调用及实战示例,展示了其在鸿蒙应用中的高效适配与跨平台一致性。通过hash库,开发者可为高安全性应用构建可靠的数字指纹,有效防范数据篡改风险。

2601_95372162的博客 675

密码正则验证:大小写字母、数字、特殊字符至少8位

正则表达式:密码必须包含大写字母 、数字、 特殊字符(四种里至少三种,且至少8位) 写法一: /((^(?=.*[a-z])(?=.*[A-Z])(?=.*\W)[\da-zA-Z\W]{8,16}$)|(^(?=.*\d)(?=.*[A-Z])(?=.*\W)[\da-zA-Z\W]{8,16}$)|(^(?=.*\d)(?=.*[a-z])(?=.*\W)[\da-zA-Z\W]{8,16}$)|(^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[\da-zA-Z\W]{8,}$))/

qq_21875331的博客 2万+
上一篇: 前端性能优化
下一篇: 禁止浏览器自动填充用户名和密码
codezha
博客等级 码龄10年 28粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值