当前位置: 首页 > news >正文

锦州做网站的公司软件开发公司排名

锦州做网站的公司,软件开发公司排名,南通制作手机网站,正规的网站制作电话多少1. 需求 对用户密码的强度进行校验,要求用户密码达到一定的强度,符合安全性要求。 1.1. 基础版需求 密码必须由字母和数字组成(同时包括数字和数字);密码长度大于等于8个字符。 1.2. 进阶版需求 密码由这四种元素…

1. 需求

对用户密码的强度进行校验,要求用户密码达到一定的强度,符合安全性要求。

1.1. 基础版需求

密码必须由字母和数字组成(同时包括数字和数字);密码长度大于等于8个字符。

1.2. 进阶版需求

密码由这四种元素组成(数字、大写字母、小写字母、特殊字符),且必须包含全部四种元素;密码长度大于等于8个字符。

2. 基础版解析

需求:密码必须由字母和数字组成(同时包括数字和数字);密码长度大于等于8个字符。

2.1. 原理

使用正则表达式校验字符串。

正则表达式构建思路(负向预查模式):

  1. 字符为数字或字母;
  2. 不能全是数字;
  3. 不能全是字母;
  4. 字符数量大于等于8.

2.2. 核心代码

package org.example;import java.util.regex.Pattern;/*** 密码校验器。*/
public class PasswordValidator {/*** 密码由数字和下划线组成,且大于等于8个字符。*/public static boolean isCharacterAndNumber(String password) {String pattern = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,}$";return Pattern.matches(pattern, password);}}

2.3. 正则表达式含义解析

含义正则表达式
字符串开头^
字符为数字或字母[0-9A-Za-z]
不全是数字(?![0-9]+$)
不全是字母(?![a-zA-Z]+$)
字符数量大于等于8{8,}
字符串结尾$

2.4. 测试用例

2.4.1. 示例代码

package org.example;public class TestBase {public static void main(String[] args) {isValid("");isValid("中文");isValid("abc-1234567");isValid("1234567");isValid("abc");isValid("zzz111");isValid("zzz12345");isValid("abc1234567");isValid("abc12345bbb");}private static void isValid(String text) {System.out.println(text + " === " + PasswordValidator.isCharacterAndNumber(text));}}

2.4.2. 运行结果

在这里插入图片描述

3. 进阶版解析

需求:密码由四种元素组成(数字、大写字母、小写字母、特殊字符),且必须包含全部四种元素;密码长度大于等于8个字符。

3.1. 原理

使用正则表达式校验字符串。

正则表达式构建思路(负向预查模式):

  1. 密码只包含数字、大写字母、小写字母和特殊字符
  2. 不全是 数字,或大写字母,或小写字母
  3. 不全是 数字,或大写字母,或特殊字符
  4. 不全是 数字,或小写字母,或特殊字符
  5. 不全是 大写字母,或小写字母,或特殊字符
  6. 字符数量大于等于8.

3.2. 核心代码


import java.util.regex.Pattern;/*** 密码校验器。*/
public class PasswordValidator {/*** 密码由四种元素组成(数字、大写字母、小写字母、特殊字符),且必须包含全部四种元素;密码长度大于等于8个字符。*/public static boolean isValid(String password) {// 正则表达式的内容如下:// ^(?![0-9A-Za-z]+$)(?![0-9A-Z\W]+$)(?![0-9a-z\W]+$)(?![A-Za-z\W]+$)[0-9A-Za-z~!@#$%^&*()__+`\-={}|[\]\\:";'<>?,./]{8,}$// 在 Java 中使用,需要转义;转义后的结果如下。String pattern = "^(?![0-9A-Za-z]+$)(?![0-9A-Z\\W]+$)(?![0-9a-z\\W]+$)(?![A-Za-z\\W]+$)[0-9A-Za-z~!@#$%^&*()_+`\\-={}|\\[\\]\\\\:\";'<>?,./]{8,}$";return Pattern.matches(pattern, password);}}

3.3. 正则表达式含义解析

含义正则表达式
字符串开头^
密码只包含数字、大写字母、小写字母和特殊字符[0-9A-Za-z~!@#$%^&*()_+`-={}|[]\:";'<>?,./]
不全是 数字,或大写字母,或小写字母(?![0-9A-Za-z]+$)
不全是 数字,或大写字母,或特殊字符(?![0-9A-Z\W]+$)
不全是 数字,或小写字母,或特殊字符(?![0-9a-z\W]+$)
不全是 大写字母,或小写字母,或特殊字符(?![A-Za-z\W]+$)
字符数量大于等于8{8,}
字符串结尾$

3.4. 测试用例

3.4.1. 示例代码

public class TestComplex {public static void main(String[] args) {isValid("");isValid("中文");isValid("123456789");isValid("aaabbbccc");isValid("AAABBBCCCabc");isValid("AAAbbb123");isValid("abcABC1@中文");isValid("aB1@");isValid("abcABC1@");isValid("aaaBBB111@");isValid("aaabbbBBB111~!@#$%^&*()_+=-`{}|[]\\:\";'<>?,./");}private static void isValid(String text) {System.out.println(text + " === " + PasswordValidator.isValid(text));}}

3.4.2. 运行结果

在这里插入图片描述

4. Gitee示例项目(idea)

密码校验器Demo

5. 参考

java正则校验,密码必须由字母和数字组成

几种常见的密码校验正则表达式

http://www.dinnco.com/news/14706.html

相关文章:

  • 可以做投票功能的网站成都网络营销策划
  • 建材交易平台哈尔滨seo推广
  • wordpress更改首页模板微博seo营销
  • 做房产的一般用哪个网站好企业做网上推广
  • 申请完域名如何建设网站英雄联盟韩国
  • 做网站程序看什么书电子商务说白了就是干什么的
  • 网站上地图是怎样做的百度账号客服24小时人工电话
  • 烟台网站建设设计浙江网站推广运营
  • linux做网站360网址大全
  • 湖南建设工程网网站关键词优化排名怎么做
  • 网站链接怎么做标记软文平台有哪些
  • 中文网站模板免费下载网络销售是干嘛的
  • 包装设计网站排行榜国际新闻最新消息中国
  • 网站后台登陆素材推广关键词优化公司
  • 视频.wordpress添加ssl快排seo软件
  • 深圳市建设中心官网网址百度seo优化工具
  • 苹果app开发工具seo优化技术
  • 编程工具成都网站建设seo
  • 惠州疫情最新消息2021seo需要掌握哪些技术
  • 网站建设进展推进表百度引流推广
  • wordpress 3.5 下载地址建站优化推广
  • 网站推广风险中国域名注册官网
  • 考试类网站如何做自动点击器app
  • 政府网站建设哪家好b站视频推广网站2023
  • 企业网站程序营销模式都有哪些
  • wordpress日志元代码百度荤seo公司
  • 昆明专业做网站多少钱aso优化违法吗
  • 网站怎么收录到百度北京网站优化企业
  • 万州网站制作公司深圳知名seo公司
  • 如何在工商局网站做身份确认优化网站seo方案