常用的正则表达式收集整理
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
只回答业务咨询
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
一、校验数字的表达式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
// 01 数字 ^[0-9]*$ // 02 n位的数字 ^\d{n}$ // 03 至少n位的数字 ^\d{n,}$ // 04 m-n位的数字 ^\d{m,n}$ // 05 零和非零开头的数字 ^(0|[1-9][0-9]*)$ // 06 非零开头的最多带两位小数的数字 ^([1-9][0-9]*)+(.[0-9]{1,2})?$ // 07 带1-2位小数的正数或负数 ^(\-)?\d+(\.\d{1,2})?$ // 08 正数、负数、和小数 ^(\-|\+)?\d+(\.\d+)?$ // 09 有两位小数的正实数 ^[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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
// 01 汉字 ^[\u4e00-\u9fa5]{0,}$ // 02 英文和数字 ^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$ // 03 长度为3-20的所有字符 ^.{3,20}$ // 04 由26个英文字母组成的字符串 ^[A-Za-z]+$ // 05 由26个大写英文字母组成的字符串 ^[A-Z]+$ // 06 由26个小写英文字母组成的字符串 ^[a-z]+$ // 07 由数字和26个英文字母组成的字符串 ^[A-Za-z0-9]+$ // 08 由数字、26个英文字母或者下划线组成的字符串 ^\w+$ 或 ^\w{3,20}$ // 09 中文、英文、数字包括下划线 ^[\u4E00-\u9FA5A-Za-z0-9_]+$ // 10 中文、英文、数字但不包括下划线等符号 ^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$ // 11 可以输入含有^%&',;=?$\"等字符 [^%&',;=?$\x22]+ // 12 禁止输入含有~的字符 [^~\x22]+ |
三、特殊需求表达式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
// 01 Email地址 ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ // 02 域名 [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.? // 03 InternetURL [a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ // 04 手机号码 ^(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}$ // 05 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX) ^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ // 06 国内电话号码(0511-4405222、021-87888822) \d{3}-\d{8}|\d{4}-\d{7} // 07 身份证号(15位、18位数字) ^\d{15}|\d{18}$ // 08 短身份证号码(数字、字母x结尾) ^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$ // 09 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线) ^[a-zA-Z][a-zA-Z0-9_]{4,15}$ // 10 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线) ^[a-zA-Z]\w{5,17}$ // 11 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间) ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ // 12 日期格式 ^\d{4}-\d{1,2}-\d{1,2} // 13 一年的12个月(01~09和1~12) ^(0?[1-9]|1[0-2])$ // 14 一个月的31天(01~09和1~31) ^((0?[1-9])|((1|2)[0-9])|30|31)$ // 15 xml文件 ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$ // 16 中文字符的正则表达式 [\u4e00-\u9fa5] // 17 双字节字符(包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)) [^\x00-\xff] // 18 空白行的正则表达式(可以用来删除空白行) \n\s*\r // 19 HTML标记的正则表达式(网上流传的版本太糟糕,这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力) <(\S*?)[^>]*>.*?</\1>|<.*? /> // 20 首尾空白字符的正则表达式(可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式) ^\s*|\s*$或(^\s*)|(\s*$) // 21 腾讯QQ号(腾讯QQ号从10000开始) [1-9][0-9]{4,} // 22 中国邮政编码(中国邮政编码为6位数字) [1-9]\d{5}(?!\d) // 23 IP地址(提取IP地址时有用) \d+\.\d+\.\d+\.\d+ // 24 IP地址 ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)) |
学习日记,兼职软件设计,软件修改,毕业设计。
本文出自 学习日记,转载时请注明出处及相应链接。
本文永久链接: https://www.softwareace.cn/?p=1045