编程 正则数字、字母、字符密码组合校验

2024-11-19 02:29:35 +0800 CST views 3559

今天在写登录密码的时候,突然想让用户输入密码更加严谨点。于是打算在登录的时候做个检查用户密码是否安全。很多人老是用123456太不安全了。

必须包含 数字,字母,符号 3项组合的 正则表达式

^(?:(?=.[0-9].)(?=.[A-Za-z].)(?=.*[,.#%'+*-:;^_].*))[,\.#%'\+\*\-:;^_0-9A-Za-z]{8,10}$

不为纯数字或字母的正在表达式 用于密码验证

^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$

密码为8~20位数字,英文,符号至少两种组合的字符

^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![,.#%'+*-:;^_]+$)[,\.#%'\+\*\-:;^_0-9A-Za-z]{8,20}$

实际项目案例:

protected function checkpassword($value)
    {
        if (!preg_match("/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![,\.#%'\+\*\-:;^_`]+$)[,\.#%'\+\*\-:;^_`0-9A-Za-z]{6,30}$/i",$value)){
            return "密码不能为纯数字或字母";
        }
        return true;
    }

正则.png

复制全文 生成海报 安全性 编程 正则表达式 用户体验

推荐文章

15 个 JavaScript 性能优化技巧
2024-11-19 07:52:10 +0800 CST
XSS攻击是什么?
2024-11-19 02:10:07 +0800 CST
MySQL 1364 错误解决办法
2024-11-19 05:07:59 +0800 CST
Rust async/await 异步运行时
2024-11-18 19:04:17 +0800 CST
mysql关于在使用中的解决方法
2024-11-18 10:18:16 +0800 CST
PHP中获取某个月份的天数
2024-11-18 11:28:47 +0800 CST
Vue 3 是如何实现更好的性能的?
2024-11-19 09:06:25 +0800 CST
Gin 与 Layui 分页 HTML 生成工具
2024-11-19 09:20:21 +0800 CST
Vue3中的v-bind指令有什么新特性?
2024-11-18 14:58:47 +0800 CST
Vue中如何处理异步更新DOM?
2024-11-18 22:38:53 +0800 CST
Vue3的虚拟DOM是如何提高性能的?
2024-11-18 22:12:20 +0800 CST
10个极其有用的前端库
2024-11-19 09:41:20 +0800 CST
MySQL 主从同步一致性详解
2024-11-19 02:49:19 +0800 CST
Vue中的异步更新是如何实现的?
2024-11-18 19:24:29 +0800 CST
LLM驱动的强大网络爬虫工具
2024-11-19 07:37:07 +0800 CST
程序员茄子在线接单