浅析匹配数字和字母密码的正则表达式
最近做项目,遇到这样的需求,要求由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。下面给大家分享实现代码,要求看看吧
一个用户注册功能的密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。
如何分析需求?拆分!这就是软件设计的一般思路了。于是乎,拆分需求如下:
1,不能全部是数字
2,不能全部是字母
3,必须是数字或字母
只要能同时满足上面3个要求就可以了,写出来如下:
^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$
分开来注释一下:
^ 匹配一行的开头位置
(?![0-9]+$) 预测该位置后面不全是数字
(?![a-zA-Z]+$) 预测该位置后面不全是字母
[0-9A-Za-z] {8,16} 由8-16位数字或这字母组成
$ 匹配行结尾位置
注:(?!xxxx) 是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。
测试用例如下:
public class Test { public static void main(String[] args) throws Exception { String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"; String value = "aaa"; // 长度不够 System.out.println(value.matches(regex)); value = "1111aaaa1111aaaaa"; // 太长 System.out.println(value.matches(regex)); value = "111111111"; // 纯数字 System.out.println(value.matches(regex)); value = "aaaaaaaaa"; // 纯字母 System.out.println(value.matches(regex)); value = "####@@@@#"; // 特殊字符 System.out.println(value.matches(regex)); value = "1111aaaa"; // 数字字母组合 System.out.println(value.matches(regex)); value = "aaaa1111"; // 数字字母组合 System.out.println(value.matches(regex)); value = "aa1111aa"; // 数字字母组合 System.out.println(value.matches(regex)); value = "11aaaa11"; // 数字字母组合 System.out.println(value.matches(regex)); value = "aa11aa11"; // 数字字母组合 System.out.println(value.matches(regex)); } }
以上所述是小编给大家介绍的一个匹配数字和字母密码的正则表达式 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
以上是浅析匹配数字和字母密码的正则表达式的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

当使用Win11系统时,有时候会遇到需要输入管理员用户名和密码的提示,本文将探讨在遇到这种情况时应该如何处理。方法一:1、点击【Windows徽标】,然后按【Shift+重启】进入安全模式;或者这样进入安全模式:点击开始菜单,选择设置。选择“更新和安全”;选择“恢复”中的“立即重启”;重启进入选项后选择——疑难解答——高级选项——启动设置—&mdash

无线网络已经成为人们生活中不可或缺的一部分、在当今数字化的世界中。保护个人无线网络的安全性却显得尤为重要、然而。设置一个强密码是确保你的WiFi网络不被他人侵入的关键。保障你的网络安全,本文将详细介绍如何使用手机来修改路由器WiFi密码。1.打开路由器管理页面-在手机浏览器中打开路由器管理页面、通过输入路由器的默认IP地址。2.输入管理员用户名和密码-以获得访问权限,在登录页面中输入正确的管理员用户名和密码。3.导航到无线设置页面-查找并点击进入无线设置页面,在路由器管理页面中。4.找到当前Wi

本文将探讨如何解决密码错误的问题,特别是在处理BitLocker警告时需要小心。当在BitLocker中多次输入错误密码以解锁驱动器时,就会触发这个警告。通常,这个警告出现是因为系统设定了限制错误登录尝试的策略(通常是允许3次登录尝试)。在这种情况下,用户会收到相应的警告信息。完整的警告信息如下:输入的密码不正确,请注意-连续输入错误密码会导致账户被锁定,这是为了保护您的数据安全。如果需要解锁账户,您将需要使用BitLocker恢复密钥。密码不正确,小心BitLocker警告当您登录计算机时收到

无线网络已经成为我们生活中不可或缺的一部分、随着互联网的快速发展。为了保护个人信息和网络安全,定期更改wifi密码是非常重要的、然而。帮助大家更好地保护家庭网络安全,本文将为大家介绍如何利用手机修改wifi密码的详细教程。1.了解wifi密码的重要性wifi密码是保护个人信息和网络安全的道防线,在网络时代、了解其重要性可以更好地理解为什么需要定期修改密码。2.确认手机连接到wifi首先确保手机已连接到要修改密码的wifi网络上,在修改wifi密码之前。3.打开手机设置菜单进入手机的设置菜单、在手

字幕在你的WindowsPC上不能在Stremio上运行吗?一些Stremio用户报告说,视频中没有显示字幕。许多用户报告说遇到了一条错误消息,上面写着“加载字幕时出错”。以下是与此错误一起显示的完整错误消息:加载字幕时出错加载字幕失败:这可能是您正在使用的插件或您的网络有问题。正如错误消息所说,可能是您的互联网连接导致了错误。因此,请检查您的网络连接,并确保您的互联网工作正常。除此之外,这个错误的背后可能还有其他原因,包括字幕加载项冲突、特定视频内容不支持字幕以及Stremio应用程序过时。如

在Windows10系统中,密码策略是一套安全规则,确保用户设置的密码符合一定的强度和复杂性要求,而系统提示您的密码不满足密码策略要求则通常意味着您的密码没有达到微软设定的复杂度、长度或字符种类的标准,那么这种情况要如何避免呢?用户们可以直接的找到本地计算机策略下的密码策略来进行操作就可以了,下面就一起来看看吧。不符合密码策略规范的解决方法修改密码长度:根据密码策略要求,我们可以尝试增加密码的长度,比如将原来的6位密码改为8位或更长。添加特殊字符:密码策略通常要求包含特殊字符,如@、#、$等。我

1、在另一台电脑上下载安装小白一键重装系统工具,插入空u盘制作u盘启动盘,具体的教程可以参照:2、把U盘启动盘插到需要更改密码的电脑重启,按启动热键,一般启动热键是F12、F8、F9、F10、ESC其中一个。接着出现启动界面,选择U盘的选项回车进入。3、选择【1】启动win10x64PE按回车确定。4、选择桌面上的密码修改的工具,双击打开。5、接着出现账户名列表,选中需要更改密码的账户打开。6、点击下方的修改密码命令,输入两次新的密码,然后点击OK,保存更改。7、最后拔掉U盘,重启电脑就可以正常

前几天表弟找我诉苦说用excel辛苦做了一大堆数据,结果后来被同事给修改了,当时不知道情况,发给老板后被臭骂了一顿。这确实挺让人无奈的,有的人就是看你不顺眼,就是想故意整你,离开学校步入社会以后,你会发现背后捅刀子的人越来越多。除了安慰表弟几句以外,我还给了表弟一个意见,如果怕以后再遇到这样的事情,那就把excel表格设置密码,除了你可以打开以外,别人谁都打不开。广大网友们,如果你也怕自己的excel表格被别人偷偷修改,也应该设置密码的。excel密码表格如何设置密码?跟我一起来了解一下吧!1.
