正则表达式-程序员宅基地

技术标签: 正则表达式  

1、校验数字的表达式

 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)$

2、校验字符的表达式

 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]+

3、特殊需求表达式

 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 手机号码:^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$ (由于工信部放号段不定时,所以建议使用泛解析 ^([1][3,4,5,6,7,8,9])\d{9}$)
 5 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ 
 6 国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7} 
 7 18位身份证号码(数字、字母x结尾):^((\d{18})|([0-9x]{18})|([0-9X]{18}))$
 8 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
 9 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$
10 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$  
11 日期格式:^\d{4}-\d{1,2}-\d{1,2}
12 一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$
13 一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$ 
14 钱的输入格式:
15    1.有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$ 
16    2.这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|[1-9][0-9]*)$ 
17    3.一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?[1-9][0-9]*)$ 
18    4.这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$ 
19    5.必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^[0-9]+(.[0-9]{2})?$ 
20    6.这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$ 
21    7.这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$ 
22    8.1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$ 
23    备注:这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里
24 xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
25 中文字符的正则表达式:[\u4e00-\u9fa5]
26 双字节字符:[^\x00-\xff]    (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
27 空白行的正则表达式:\n\s*\r    (可以用来删除空白行)
28 HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />    (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)
29 首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$)    (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)
30 腾讯QQ号:[1-9][0-9]{4,}    (腾讯QQ号从10000开始)
31 中国邮政编码:[1-9]\d{5}(?!\d)    (中国邮政编码为6位数字)
32 IP地址:\d+\.\d+\.\d+\.\d+    (提取IP地址时有用)
33 IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))    

来自转载
https://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45102016/article/details/120830840

智能推荐

ebay实时商品数据采集——ebay必备选品商品详情API数据采集上传接口-程序员宅基地

文章浏览阅读850次,点赞5次,收藏3次。总的来说,通过以上步骤,您可以有效地利用eBay提供的商品详情API接口进行商品数据的采集和上传,从而为您的电商业务提供数据支持。在使用过程中,不断学习和实践是非常重要的,因为数据是电商业务成功的关键。

从零开始复刻ruoyi-vue-pro(若依Pro版)_若依站内信-程序员宅基地

文章浏览阅读622次,点赞3次,收藏9次。从零开始复刻ruoyi-vue-pro(若依Pro版)_若依站内信

Spring装配bean_可以在包中创建一个用来扫描的空标记接口-程序员宅基地

文章浏览阅读401次。创建应用之间关联关系的传统做法(通过构造器或者查找)通常会导致结构复杂的代码 , 这些代码很难被复用 , 也很难进行单元测试 , 耦合度高…… 在spring中 , 对象无需自己查找或创建与其关联的对象 , 相反 , 容器负责把需要相互协作的对象引用赋予给各个对象 ,例如,一个订单管理组件需要信用卡认证组件,但它不需要自己创建信用卡认证组件。订单管理组件只需要表明自己两手空空,容器就会主动赋予它一_可以在包中创建一个用来扫描的空标记接口

openssl3.2 - 官方demo学习 - mac - cmac-aes256.c_openssl生成cmac-程序员宅基地

文章浏览阅读511次,点赞5次,收藏5次。指定加密算法(e.g. AES-256-CBC), 对明文生成MAC数据。_openssl生成cmac

C语言学习(十)C语言中的小数_c语言小数的定义变量类型-程序员宅基地

文章浏览阅读6.8k次,点赞2次,收藏18次。C语言学习(十)C语言中的小数小数的表示方式小数分为整数部分和小数部分,他们之间用点号.分隔,如0.0、7.5、4.098、0.27、-987.333等都是合法小数,这是最常见的小数形式,我们称为十进制形式。此外,小时也可以采用指数形式,如3.2x103、0.0345x106、100.2323x10-6等。C语言同时支持以上两种小数形式。C语言中小数的指数形式为:aEn 或 aen其中a为尾数部分,是一个十进制的数字。n为指数部分,是一个十进制整数。e或者E是一个固定字符,用于分隔尾数和指数_c语言小数的定义变量类型

89c52LED点阵实例(复习自用)-程序员宅基地

文章浏览阅读496次,点赞20次,收藏3次。今天老板找我,我说我很忙,后来老板过来的时候发现我在做这个,让我走人,可恶。

随便推点

Flutter 仿掘金微信图片滑动退出页面效果_flutter photo_view 滑动关闭-程序员宅基地

文章浏览阅读946次。1.增加onSlidingPage回调,可以在滑动页面的时候设置页面上面的其他元素的状态2.增加中文文档这个需求在做extended_image的时候就有上帝客户提过了,一直都没有时间去考虑实现。最近思考了一下,把效果给实现了。首先开启滑动退出页面效果ExtendedImageparameter description default enableSlide..._flutter photo_view 滑动关闭

SAP MM供应商主数据表-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏13次。_主数据表

使用什么框架来开发H5应用?_h5开发框架-程序员宅基地

文章浏览阅读401次。React还支持丰富的生态系统,包括Redux等状态管理库和React Native等移动应用开发框架,可以帮助开发人员更好地构建跨平台的H5应用。Vue.js具有响应式的数据绑定和组件化的架构,可以帮助开发人员更好地管理应用状态和UI组件,同时也提供了丰富的插件和扩展库,使得开发H5应用变得更加便捷。选择适当的框架可以极大地简化H5应用的开发过程,并提供丰富的功能和良好的用户体验。选择适合的框架可以大大简化H5应用的开发过程,并提供丰富的功能和良好的用户体验。以上是几种常用的框架,可以用于开发H5应用。_h5开发框架

拯救者Legion R9000X 2021(82HN)原装出厂Win10系统镜像ISO下载_联想拯救者win10下载-程序员宅基地

文章浏览阅读223次。原装出厂系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序。lenovo联想拯救者笔记本R9000X 2021款原厂Windows10系统安装包,恢复出厂开箱状态预装OEM系统。注:恢复时会清空电脑上所有盘的数据,请提前转移备份好重要资料!文件格式:ISO 文件大小:10.94GB。所需要工具:16G或以上的U盘。_联想拯救者win10下载

【金三银四】面试题汇总(持续编写中)(1),大数据开发面试题2024答案-程序员宅基地

文章浏览阅读509次,点赞10次,收藏14次。(img-wFn67B7m-1713167233059)]友,可以添加V获取:vip204888 (备注大数据)**

arm-none-eabi交叉编译工具常用的一些指令_arm-none-eabi-gcc objdump-程序员宅基地

文章浏览阅读1.7w次,点赞3次,收藏22次。假如目前有三个文件a.c、b.c、ab.lds:1.arm-none-eabi-gccarm-none-eabi-gcc --help 查看帮助信息。arm-none-eabi-gcc -c a.c 生成a.o文件。arm-none-eabi-gcc -g -c a.c 生成a.o文件,-g使得如果反汇编可对应C语言显示。arm-none-eabi-gcc -c_arm-none-eabi-gcc objdump