必备之常用正则表达式
时间:2022-05-06
本文章向大家介绍必备之常用正则表达式,主要内容包括一、校验数字的表达式、二、校验字符的表达式、三,特殊需求表达式、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
正则表达式30分钟入门教程 59分钟学会正则表达式 8 Regular Expressions You Should Know
一、校验数字的表达式
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{1,20}$
9, 中文、英文、数字包括下划线:
^[u4E00-u9FA5A-Za-z0-9_]+$
10, 中文、英文、数字但不包括下划线等符号:
^[u4E00-u9FA5A-Za-z0-9]+$ 或 ^[u4E00-u9FA5A-Za-z0-9]{2,20}$
11, 可以输入含有^%&’,;=?$”等字符:
[^%&',;=?$x22]+
12, 禁止输入含有~的字符:
[^~x22]+
13, 不以xxx(如 jeffjade )开头(/结尾)的字符串
^(?!jeffjade).*$
^.*?(?<!jeffjade)$
三,特殊需求表达式
1, Email地址:
^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$ 或
w[-w.+]*@([A-Za-z0-9][-A-Za-z0-9]+.)+[A-Za-z]{2,14}
2, 域名地址:
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
3, 手机号码:
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$
4, 身份证号(15位、18位数字):
^d{15}|d{18}$
5, 是否合法Url地址
// 必须包含http or https
https?://(www.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}.[a-z]{2,6}b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
// 不必包含http or https
[-a-zA-Z0-9@:%._\+~#=]{2,256}.[a-z]{2,6}b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
6, 是否合法帐号::
// 允许3到16个字节,仅包含字母或数字
^[a-zA-Z0-9]{3,16}$
// 字母开头,允许5-16字节,允许字母数字下划线
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
7, 是否合法密码
// 至少八个字符,至少一个字母和一个数字:
^(?=.*[A-Za-z])(?=.*d)[A-Za-zd]{8,}$
// 至少八个字符,至少一个字母,一个数字和一个特殊字符:
^(?=.*[A-Za-z])(?=.*d)(?=.*[$@$!%*#?&])[A-Za-zd$@$!%*#?&]{8,}$
// 最少八个字符,至少一个大写字母,一个小写字母和一个数字
"^(?=.*[a-z])(?=.*[A-Z])(?=.*d)[a-zA-Zd]{8,}$"
// 至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[$@$!%*?&])[A-Za-zd$@$!%*?&]{8,}"
// 最少八个最多十个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[$@$!%*?&])[A-Za-zd$@$!%*?&]{8,10}"
8, 是否合法 Img 标签
<img.*ssrc=.*?>
未完待续 …
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Nginx Ingress 高并发实践
- 搞它!!!2020年了,你还不会PXE+kickstart 一键式部署安装系统么
- shell脚本快速入门系列—————— shell脚本编程规范
- shell脚本快速入门系列之------条件语句(if、case)
- 搞它!!!2020年了你还不会Cobbler自动装机么(装机步骤,优化内容详解,导入系统镜像步骤,cobbler-web管理认证方式
- 搞它!!!深入了解FTP文件传输服务
- 搞它!!!CentOS 7.6 安装和配置samba文件共享服务
- shell脚本快速入门系列之------变量
- 弄它!!! 深入了解STP生成树协议
- kali linux下的常用bash命令
- shell脚本快速入门之-----linux设置 自定义脚本开机启动,一键式部署网卡配置文件
- jdbc连接oracle语法
- java实现数据库连接的工具类
- shell脚本快速入门之-----正则三剑客之一grep用法大全!!!
- 【网页特效】11 个文本输入和 6 个按钮操作 特效库