JavaScript高强度密码校验正则表达式包含特殊字符、数字、大、小写字母长度8到18位

本文介绍了如何使用JavaScript实现高强度密码校验,包括必须包含大、小写字母、数字和特殊字符,且长度在8到18位的要求。通过提供正则表达式和测试代码,确保校验规则的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求相关

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

 

需求实现

      拿到这个需求后,我在想怎么来进行进行改造,涉及到用户密码操作的有用户注册,重置密码,修改密码,我要怎么来加强安全措施呢?首要的是校验用户输入的密码强度,开始看各种js正则表达式的教程,然后经过自己的改造得出一个可用的正则表达式如下:let reg = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]).{8,18}$/;可是至于这个正则表达式到底行不行呢?项目组中的一个同事也同样有这个疑问,然后我立马写 了一段代码用来验证其是否正确。代码如下

let key = `0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-!$%^&*()_+|~=\`{}[]:";'<>?,./`;
let reg = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值