摘要: 在本文中,我们将创建一个自定义的.NET Core应用配置源和提供程序,用于从Redis中读取配置。在此之前,您需要稍微了解一些.NET Core配置提供程序的工作原理,相关的内容可以在Microsoft开发者官网搜索到。另外您可能还需要了解一些Redis的基础知识,比如Redis的基础数据类型,持久化等等。 阅读全文
posted @ 2023-12-25 12:23 赵榕 阅读(561) 评论(2) 推荐(4) 编辑
摘要: Woa(Wechat Official Account)是一个基于.net 7开发的微信公众平台接口项目,利用Supabase作为数据存储和消息通信服务,同时提供了ChatGPT和Claude2等目前热门的生成式AI会话功能接入。 阅读全文
posted @ 2023-08-19 21:25 赵榕 阅读(1309) 评论(0) 推荐(0) 编辑

密码强度正则表达式 – 必须包含大写字母,小写字母和数字,至少8个字符等

方案一

至少8-16个字符,至少1个大写字母,1个小写字母和1个数字,其他可以是任意字符:

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/

或者:

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\s\S]{8,16}$/

其中 [\s\S] 中的\s空白符,\S非空白符,所以[\s\S]是任意字符。也可以用 [\d\D]、[\w\W]来表示。

至少8个字符,至少1个大写字母,1个小写字母和1个数字,不能包含特殊字符(非数字字母):

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$

至少8个字符,至少1个字母,1个数字和1个特殊字符:

^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$

至少8个字符,至少1个大写字母,1个小写字母和1个数字:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$

至少8个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}

最少8个最多十个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,10}

方案二

还有,你可以使用这个正则表达式:

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$

这个正则表达式将强制执行这些规则:

至少1个大写字母English letter,(?=.*?[A-Z])
至少1个小写英文字母,(?=.*?[a-z])
至少1位数字,(?=.*?[0-9])
至少有1个特殊字符,(?=.*?[#?!@$%^&*-])
最小8个长度.{8,}
方案三

正则表达式没有AND运算符,所以编写正则表达式与有效密码匹配是非常困难的,当有效性被某些东西和其他东西等定义时…

但是,正则表达式确实有1个OR运算符,所以只需应用DeMorgan的定理,并编写1个与无效密码相匹配的正则表达式:

任何少于8个字符或任何没有数字或任何没有大写字母或任何没有小写字母或任何没有特殊字符的任何东西。

所以:^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|[a-zA-Z0-9]*)$,如果有什么匹配的话,这是1个无效的密码。

方案四

由于特殊字符仅限于键盘中的特殊字符,因此可用于任何特殊字符:

^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$

这个正则表达式将强制执行这些规则:
– 至少1个大写英文字母
– 至少1个小写英文字母
– 至少1位数字
– 至少1个特殊字符
– 最少8个长度

方案五

根据我的情况,我遇到了最受欢迎的答案。例如,我的验证失败,其中包含;或[等字符。我对 white-listing 我的特殊字符不感兴趣,所以我用[^\w\s]作为测试 – 简单地把非字符(包括数字)和非空格字符放在一起。总而言之,这是对我有用的

至少8字符
至少1数字字符
至少1小写字母
至少1大写字母
至少1特殊字符
/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,}$/ 简单演示涵盖各种情况

方案六

导入JavaScript文件jquery.validate.min.js。

您可以使用此方法:

JavaScript 代码:

$.validator.addMethod("pwcheck", function (value) {
return /[\@\#\$\%\^\&\*\(\)\_\+\!]/.test(value) && /[a-z]/.test(value) && /[0-9]/.test(value) && /[A-Z]/.test(value)
});

至少1个大写英文字母
至少1个小写英文字母
至少1位数字
至少1个特殊字符

方案七

尝试这个:
– 最少6个字符
– 至少有1个大写字符
– 至少1个小写字符
– 至少1个特殊字符

表达式:

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&.])[A-Za-z\d$@$!%*?&.]{6, 20}/

可选特殊字符:

至少1个特殊字符
至少1个数字
特殊字符是可选的
最少6个字符,最多16个字符
表达式:

/^(?=.*\d)(?=.*[a-zA-Z]).{6,20}$/

如果不需要最小和最大条件,则删除.{6, 16}
– 6是最小字符数限制
– 20是最大字符限制
– ?=表示匹配表达式

posted @ 2023-12-20 08:45 赵榕 阅读(980) 评论(0) 推荐(0) 编辑
摘要: ## 一、写在前面 今天的软件相对之前的软件,需求越来越复杂,变化越来越快。软件架构不断的在演进,一方面是为了适应新的需求,一方面也在寻找软件简单化解决方案,通过架构的规范是的软件更容易维护,逻辑更清晰。所以架构一直在追求易维护、可扩展。从早期的modle1、modle2,到现在这种微服务架构,一直 阅读全文
posted @ 2023-09-05 08:38 赵榕 阅读(151) 评论(0) 推荐(0) 编辑
摘要: > 任何傻瓜都可以写出计算机能懂的代码,但好的程序员可以写出人类能懂的代码—–Martin Fowler 如果你是新手,你可能会问,为什么代码需要设计原则? 我想说的是肯定不是为了故作高深,存在即是合理。 如果写了一个简单的程序,你可能不需要设计原则。 如果你写了一个复杂的,但是之后再也不会改,那么 阅读全文
posted @ 2023-08-20 12:16 赵榕 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 领域区域设计的分层架构模型其实是在不断优化和发展的,从最早的传统直肠子式的四层架构模型,逐渐演变成目前以依赖倒置为原则的新的四层架构模型,从而实现了各层对基础设施层的解耦。 DDD中的分层架构很好的应用了[关注点分离原则](http://www.cnblogs.com/LittleFeiHu/p/6 阅读全文
posted @ 2023-08-20 12:14 赵榕 阅读(226) 评论(0) 推荐(0) 编辑
摘要: CQRS也叫命令查询职责分离,是近年来非常流行的应用程序架构模式。本文将重点介绍如何通过MediatR的管道功能将FluentValidation集成到CQRS项目中实现验证功能。 阅读全文
posted @ 2023-08-16 00:55 赵榕 阅读(1431) 评论(5) 推荐(6) 编辑
摘要: CQRS是Command Query Responsibility Segregation的缩写,一般称作命令查询职责分离。从字面意思理解,就是将命令(写入)和查询(读取)的责任划分到不同的模型中。 对比一下常用的 CRUD 模式(创建-读取-更新-删除),通常我们会让用户界面与负责所有四种操作的数据存储交互。而 CQRS 则将这些操作分成两种模式,一种用于查询(又称 "R"),另一种用于命令(又称 "CUD")。 阅读全文
posted @ 2023-08-13 21:11 赵榕 阅读(3732) 评论(3) 推荐(18) 编辑
摘要: 电脑C盘空间紧张,仔细分析之后,决定把10多个GB的nuget全局包迁移到其他盘,给C盘腾出空间。 阅读全文
posted @ 2023-07-21 01:04 赵榕 阅读(973) 评论(2) 推荐(3) 编辑
摘要: Supabase 是一个开源的 Firebase 替代品,以BaaS的形式向各种应用程序提供了一系列的后端功能,可以帮助开发者更快地构建产品。 对于想快速实现一个产品而言,如果使用传统开发,又要兼顾前端开发,同时又要花费时间构建后端服务。Supabase能够让开发人员可以专注于前端开发,而无需花费大量时间和精力来构建和维护后端基础设施。 Supbase 产品包括 Postgres 数据库和身份验证服务,存储和无服务器服务(用于后端逻辑)仍在开发中。它的所有工具大多是免费和开源的。Postgres 数据库包括与数据库相关的工具,例如对数据库修改的实时监控和一个管理界面。 此外,它还提供了可与 Firebase 相媲美的快速 API 和语法。这允许您以一致的方式处理 CRUD 任务,让您专注于创建而不是重写重复的 CRUD 代码。 阅读全文
posted @ 2023-07-17 13:27 赵榕 阅读(3601) 评论(0) 推荐(1) 编辑
点击右上角即可分享
微信分享提示