Java正则表达式校验数字、字母及特殊字符

article/2025/9/30 13:31:40

一、校验数字的表达式

1.数字:^[0-9]*$
2.n位的数字:^\d{n}$
3.至少n位的数字:^\d{n,}$
4.m-n位的数字:^\d{m,n}$
5.零和非零开头的数字:^(0|[1-9][0-9]*)$
6.非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$
7.1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$
8.正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
9.有两位小数的正实数:^[0-9]+(\.[0-9]{2})?$
10.1~3位小数的正实数:^[0-9]+(\.[0-9]{1,3})?$
11.非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
12.非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
13.非负整数:^\d+$ 或 ^[1-9]\d*|0$
14.非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15.非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16.非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17.正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18.负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19.浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

二、校验字符的表达式

1.汉字:^[\u4e00-\u9fa5]{0,}$
2.英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
3.长度为3-20的所有字符:^.{3,20}$
4.26个英文字母组成的字符串:^[A-Za-z]+$
5.26个大写英文字母组成的字符串:^[A-Z]+$
6.26个小写英文字母组成的字符串:^[a-z]+$
7.由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
8.由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
9.中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$
10.中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
11.可以输入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+
12.禁止输入含有~的字符:[^~\x22]+

三、特殊需求表达式

1.Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
2.域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
3.InternetURL:[a-zA-z]+://[^\s]*^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
4.身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
5.帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)^[a-zA-Z][a-zA-Z0-9_]{4,15}$
6.密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)^[a-zA-Z]\w{5,17}$
7.强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间)^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
8.强密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间)^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
9.日期格式:^\d{4}-\d{1,2}-\d{1,2}
10.一年的12个月(0109112)^(0?[1-9]|1[0-2])$
11.一个月的31(0109131)^((0?[1-9])|((1|2)[0-9])|30|31)$
12.中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)
13.IPv4地址:((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}
14.校验车牌号:^[粤湘鄂冀豫黑吉辽晋陕青鲁苏皖浙闽赣琼甘贵川港澳桂宁蒙新藏京津沪渝]{1}[A-HJ-NP-Z0-9]{6,7}$

四、语法参考

. - 除换行符以外的所有字符。
^ - 字符串开头。
$ - 字符串结尾。
\d,\w,\s - 匹配数字、字符、空格。
\D,\W,\S - 匹配非数字、非字符、非空格。
[abc] - 匹配 a、b 或 c 中的一个字母。
[a-z] - 匹配 a 到 z 中的一个字母。
[^abc] - 匹配除了 a、b 或 c 中的其他字母。
aa|bb - 匹配 aa 或 bb。
? - 0 次或 1 次匹配。
* - 匹配 0 次或多次。
+ - 匹配 1 次或多次。
{n} - 匹配 n次。
{n,} - 匹配 n次以上。
{m,n} - 最少 m 次,最多 n 次匹配。
(expr) - 捕获 expr 子模式,以 \1 使用它。
(?:expr) - 忽略捕获的子模式。
(?=expr) - 正向预查模式 expr。
(?!expr) - 负向预查模式 expr。

五、代码示例

/*** 正则表达式*/
public class Test {public static final String LETTER_PATTERN="^.*[a-zA-Z]+.*$";//字母public static final String NUMBER_PATTERN="^.*[0-9]+.*$";//数字public static final String SPECIAL_CHAR_PATTERN="^.*[/^/$/.//,;:'!@#%&/*/|/?/+/(/)/[/]/{/}]+.*$";//特殊字符public static final String PW_LENGTH_PATTERN="^.{8,16}$";//密码长度public static void main(String[] args) {matches("123");matches("123A");matches("12345678901234567");matches("123Aa0912@");}public static void matches(String input) {System.out.println(input+":"+input.matches(LETTER_PATTERN)+"-"+input.matches(NUMBER_PATTERN)+"-"+input.matches(SPECIAL_CHAR_PATTERN)+"-"+input.matches(PW_LENGTH_PATTERN));}
}

六、运行示例

在这里插入图片描述


http://chatgpt.dhexx.cn/article/POaYbYfN.shtml

相关文章

JS正则表达式验证数字、非数字、正数、负数

<script type"text/javascript"> function judgeSign(num) {var reg new RegExp("^-?[0-9]*.?[0-9]*$");if ( reg.test(num) ) {var absVal Math.abs(num);return numabsVal?是正数:是负数;}else {return 不是数字;} } console.log(judgeSign(-…

使用正则表达式对输入数字进行匹配

前言&#xff1a; 最近有一个区间范围限制&#xff0c;一般255数字以下的都能在网上薅到&#xff0c;但是需要弄一个int16、int32、int64范围的输入限制......在网上逛了很久都没找到&#xff0c;基本都是从0开始教学那种&#xff0c;我又不想看&#xff0c;觉得写的范围太大了…

Python-正则表达式匹配数字

re.match和re.search的区别&#xff1a; re.match 尝试从字符串的起始位置匹配一个模式&#xff0c;如果不是起始位置匹配成功的话&#xff0c;match()就返回none&#xff1b; re.search 扫描整个字符串并返回第一个成功的匹配。 匹配 字符串里面的全部数字&#xff1a;\d 例…

常用正则表达式汇总—(数字匹配/字符匹配/特殊匹配)

匹配大写字母开头单词 r"\b[A-Z][a-z]*\b" r"\b[A-Z]\w*\b"匹配数字 r"\s(-?\d\.?/?\d*%?)"替换日期 2019-09-09 换成 2019.09.09 r"\d{4}-\d{1,2}-\d{1,2}"比较常用的几个正则表达式(匹配数字)评…

【质量】镜像漏洞扫描工具Trivy原理和操作

目录 Trivy工作原理 cve ID和CVE数据库 Trivy扫描镜像流程 快速入门 Trivy工作原理 cve ID和CVE数据库 个人理解&#xff1a; 当有人发现漏洞时&#xff0c;在社区提交漏洞&#xff0c;然后被cve 官方数据库收录&#xff0c;分配cve id。 漏洞扫描工具扫描镜像内的组件…

基于JAVA_Swing的图形化GUI漏洞扫描工具开发的编程思维

文章目录 前言一、工具外观整体设计二、漏洞检测类模块总结2022年6月27日更新此篇 前言 CSDN博客有很长一段时间没有更新&#xff0c;漏洞复现的文章也没有经常发了&#xff0c;原因是因为我这段时间在做一件大事&#xff0c;并且这件大事已经做完啦&#xff01;&#xff01;&…

Xray-强大的漏洞扫描工具

Xray是什么&#xff1f; xray (https://github.com/chaitin/xray) 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器&#xff0c;支持主动、被动多种扫描方式&#xff0c;自备盲打平台、可以灵活定义 POC&#xff0c;功能丰富&#xff0c;调用简单&#xff0c;支持 Windows …

Java 漏洞扫描工具之 IDE 插件中强烈建议修复的漏洞

近期有很多同学在找【漏洞扫描工具】&#xff0c;今天来推荐下这款开源组件的漏洞检测工具&#xff1a;使用简单、能力专业、风险展示清晰的 ide 插件“murphysec”。 它可以快速识别项目中使用了哪些存在安全缺陷的开源组件&#xff0c;并帮助一键修复问题。目前支持Java、Ja…

Web安全 Acunetix漏洞扫描工具.

Acunetix 漏洞扫描工具概括 Acunetix 是一个自动化的 Web 应用程序安全测试工具&#xff0c;是通过检查 SQL 注入&#xff0c;跨站点脚本&#xff08;XSS&#xff09;和其他可利用漏洞等来审核您的 Web 应用程序。一般来说&#xff0c;Acunetix 能够扫描任何通过网络浏览器访问…

idea漏洞扫描工具SonarLint

目的 在使用持续集成发布时&#xff0c;其中加入了sonar的校验&#xff0c;为了提高sonar校验评分&#xff0c;希望在本地进行体检校验。 方案 在idea中安装代码校验插件&#xff0c;这里使用SonarLint | Code Quality and Code Security starts in your IDE&#xff0c;其他还…

【网安神器篇】——WPScan漏洞扫描工具

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座右…

基于JavaFx的ThinkPHP漏洞扫描工具---RexHa(Aazhen)的一些说明

文章目录 吹水环节一、工具的功能&#xff08;新旧版本对比&#xff09;二、工具的使用与操作2.1 工具新旧版展示2.2 漏洞单个扫描验证功能展示2.2.1 Thinkphp-2.x rce--&#x1f44c;&#x1f3fb;2.2.2 ThinkPHP-5.0.23-RCE--&#x1f44c;&#x1f3fb;2.2.3 ThinkPHP5.0.x-…

漏洞扫描程序

什么是漏洞 漏洞是任何软件中存在的安全漏洞。如果被利用&#xff0c;这些缺陷可能允许攻击者未经授权访问敏感信息&#xff0c;或者通常造成严重破坏&#xff0c;使整个组织面临风险。外部安全研究人员和相关供应商不断审查公开可用的软件以识别漏洞。任何发现的漏洞都会使用…

Web安全 Nessus漏洞扫描工具.

Nessus的概括 Nessus 是世界上很流行的漏洞扫描程序&#xff0c;全世界很多组织都有在使用它。该工具提供完整的电脑漏洞扫描服务&#xff0c;并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件&#xff0c;Nessus可同时在本机或远端上遥控&#xff0c;进行系统的漏洞分…

用于渗透测试的10种漏洞扫描工具

漏洞扫描工具是IT部门中必不可少的工具之一&#xff0c;因为漏洞每天都会出现&#xff0c;给企业带来安全隐患。 漏洞扫描工具有助于检测安全漏洞、应用程序、操作系统、硬件和网络系统。 黑客在不停的寻找漏洞&#xff0c;并且利用它们谋取利益。网络中的漏洞需要及时识别和…

漏洞扫描工具之nessus

5.1 使用Nessus Nessus号称是世界上最流行的漏洞扫描程序&#xff0c;全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务&#xff0c;并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件&#xff0c;Nessus可同时在本机或远端上遥控&#xff0c;进行系…

漏洞扫描工具(一)

FSCAN fscan 是一个内网综合扫描工具&#xff0c;方便一键自动化、全方位漏洞扫描。 它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。 源码链接&a…

Windows7之天镜漏洞扫描工具安装

01 天镜漏洞扫描工具安装 01 安装天镜 02 升级漏洞 03 重启win7, 多次重复升级过程(1次可能没办法成功) 04 成功之后查看版本

AWVS-Web漏洞扫描工具

一、AWVS简介 Acunetix Web Vulnerability Scanner&#xff08;简称AWVS&#xff09;是一个自动化的Web漏洞扫描工具&#xff0c;它可以扫描任何通过Web浏览器访问和遵循HTTP/HTTPS规则的Web站点。 AWVS原理是基于漏洞匹配方法&#xff0c;通过网络爬虫测试你的网站安全&…

如何自己开发漏洞扫描工具

漏洞扫描工具&#xff0c;核心就是扫描器&#xff0c;而扫描器的设计思想是&#xff1a;灵活&#xff0c;易扩展&#xff0c;易修改&#xff0c;灵活的意思就是可单独执行专项漏洞的扫描&#xff0c;也可以批量执行集成的所有漏洞探测模块&#xff1b;易扩展的意思就是&#xf…