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

几种常用的正则表达式

1、身份证号正则表达式

身份证号是一串18位数字和字母的组合,其中最后一位可能为数字或者字母 X。以下是可以用于匹配身份证号的正则表达式:

/^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[Xx\d]$/

上述正则表达式中包含以下部分:

  • ^[1-9]\d{5} 匹配前六位地址码,第一位不能为 0。
  • (19|20)\d{2} 匹配出生年份,从 1900 年至今。
  • ((0[1-9])|(1[0-2])) 匹配出生月份,01 至 12。
  • (([0-2][1-9])|10|20|30|31) 匹配出生日期,考虑了每个月的天数和闰年的情况。
  • \d{3} 匹配顺序码,通过性别和出生时间来区分。
  • [Xx\d]$ 匹配校验码,最后一位可能为数字或字母 X。

需要注意的是,该正则表达式只能判断身份证号格式是否正确。如果要验证身份证号是否真实存在,还需要结合公安部门的身份证号数据库进行查询验证

2、手机号正则表达式

以下是可以用于匹配中国大陆手机号的正则表达式:

/^1[3-9]\d{9}$/

上述正则表达式中包含以下部分:

  • ^1 匹配以 1 开头的手机号。
  • [3-9] 匹配第二位开头为 3~9 中的任意一个数字。
  • \d{9} 匹配后面的 9 个数字。

该正则表达式可以有效地匹配符合中国大陆手机号规则的号码,而且简单易懂。但需要注意的是,在实际应用中,还需要根据需求进行一定的调整和优化,例如允许前面加上 +86 或者在号码中间添加空格等情况。

3、只能输入字母

以下是可以用于匹配只含字母的正则表达式:

/^[a-zA-Z]+$/

上述正则表达式中包含以下部分:

  • ^ 匹配字符串开始。
  • [a-zA-Z] 匹配任意一个大小写字母。
  • + 表示前面的字符可以出现一次或多次,即可以匹配多个字母组成的字符串。
  • $ 匹配字符串结尾。

该正则表达式可以匹配由一个或多个大小写字母组成的字符串,并且不允许包含其他字符。如果需要匹配字母及数字,可以将正则表达式改为 /^[a-zA-Z0-9]+$/,其中 [a-zA-Z0-9] 匹配任意一个大小写字母或数字。

4、正则表达式验证链接

以下是用于验证链接格式的正则表达式:

/^(http|https):\/\/[\w.\-]+(\.[\w\-]+)+([\/?][\w\-]*)*\/?$/

上述正则表达式中包含以下部分:

  • ^ 匹配字符串开始。
  • (http|https) 匹配 "http" 或 "https"。
  • :\/\/ 匹配冒号+双斜线,即链接的协议部分 "://"。
  • [\w.\-]+ 匹配任意个由字母、数字、下划线、点或连字符组成的字符串(域名部分)。
  • (\.[\w\-]+)+ 匹配一个或多个 ".xxx" 形式的字符串(顶级域名及其子域名)。
  • ([\/?][\w\-]*)* 可选部分,匹配任意个 "/xxx" 或 "?xxx" 形式的字符串。
  • \/? 可选部分,匹配零个或一个斜杠 "/"。
  • $ 匹配字符串结尾。

该正则表达式可以匹配形如 "http://www.example.com/index.html"、"https://example.com/path/to/file" 等标准链接格式的字符串。注意,在实际应用时,该正则表达式可能需要根据具体情况进行适当修改或优化。

http://www.lryc.cn/news/90027.html

相关文章:

  • 华为OD机试真题 Java 实现【快速开租建站】【2023Q1 200分】,附详细解题思路
  • 照片中对象识别模型YOLOv3在iOS项目中的浅析与使用
  • Caffeine 本地高速缓存工具类
  • 加密解密软件VMProtect教程(八)许可制度之序列号生成器
  • 单源最短路的建图
  • MyBatis基本操作及SpringBoot单元测试
  • Linux之创建进程、查看进程、进程的状态以及进程的优先级
  • k8s部署rabbitmq
  • 关于QGroundControl的软件架构的理解
  • Android 文本识别:MLKIT + PreviewView
  • 刮泥机的分类有哪些及组成部分
  • Qt编程基础 | 第六章-窗体 | 6.2、VS导入资源文件
  • NET框架程序设计-第4章类型基础
  • Java设计模式-备忘录模式
  • Zookeeper集群 + Kafka集群
  • “邮件营销新趋势,这个平台让你收获颇丰!
  • Python列表推导
  • git使用查看分支、创建分支、合并分支
  • vue3.0与vue2.0
  • HTML 中的常用标签用法
  • 【C++】指针 - 定义和使用,所占内存空间,空指针,野指针,const 修饰指针,指针和数组,指针和函数
  • 新规之下产业园区如何合理收费水电费用
  • 1011. 在 D 天内送达包裹的能力
  • 基于SpringBoot养老院管理系统
  • 1.3 eBPF的工作原理初探
  • 【CH32】| 02——常用外设 | GPIO
  • 第四章 测试用例编
  • 解决dpdk reserve的内存返回的虚拟地址和iova地址一样的问题
  • JQuery实现小项目
  • 【C++/嵌入式笔试面试八股】一、23.结构体指针 | 指针和引用 | 万能指针 | 野指针