{"id":13493534,"url":"https://github.com/haizlin/h-regular","last_synced_at":"2025-04-23T10:32:46.197Z","repository":{"id":40540650,"uuid":"244808737","full_name":"haizlin/h-regular","owner":"haizlin","description":"在日常开发中积累的110多个正则表达式，欢迎大家提PR补充","archived":false,"fork":false,"pushed_at":"2020-03-05T04:35:15.000Z","size":51,"stargazers_count":96,"open_issues_count":0,"forks_count":26,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-17T11:55:01.778Z","etag":null,"topics":["match","pattern","regexp","regular"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haizlin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-04T04:40:53.000Z","updated_at":"2024-12-05T14:51:21.000Z","dependencies_parsed_at":"2022-07-20T13:47:42.616Z","dependency_job_id":null,"html_url":"https://github.com/haizlin/h-regular","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haizlin%2Fh-regular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haizlin%2Fh-regular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haizlin%2Fh-regular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haizlin%2Fh-regular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haizlin","download_url":"https://codeload.github.com/haizlin/h-regular/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250416761,"owners_count":21427050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["match","pattern","regexp","regular"],"created_at":"2024-07-31T19:01:16.207Z","updated_at":"2025-04-23T10:32:41.185Z","avatar_url":"https://github.com/haizlin.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"## 常用正则表达式\n\n\u003e 在日常js开发中积累的一些正则表达式，适用于浏览器和Node环境，欢迎大家提PR补充\n\n* 交流讨论：维护了一个正则交流微信群（只讨论正则相关），欢迎加入讨论，微信关注公众号：**前端剑解**，点击公众号的菜单：进群交流，并备注“正则”即可入群\n\n### 安装\n```javascript\n\n// npm安装\nnpm i h-regular --save\n\n// yarn安装\nyarn add h-regular\n\n```\n\n### 引用\n```javascript\n\nimport hRegular from 'h-regular' // 全部引入\nimport { email, phone } from 'h-regular' // 部分引入\nconst hRegular = require('h-regular') // ES5模块引入\n\n```\n\n### 使用\n```javascript\n\n// 返回的是所有正则表达式的对象\nconsole.log(hRegular)\n\n// 返回的是单个正则表达式\nconsole.log(email)\n\n```\n### 目录\n[字符](#character) | [日期](#date)  | [数字](#number)  | [金额](#money)  | [网络](#network)  | [其它](#other) \n\n### 正则表达式列表\n\n\u003cp id=\"character\"\u003e\u003c/p\u003e\n\n#### 字符\n\u003cdetails\u003e\n\u003csummary\u003e全角字符(fullAngle)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /[^\\uFF00-\\uFFFF]/g\n2. /[^\\x00-\\xff]/g\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e半角字符(halfAngle)\u003c/summary\u003e\n\u003cp\u003e举例：这是半角字符\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/[\\x00-\\xff]/g\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e空白行(blank)\u003c/summary\u003e\n\u003cp\u003e举例：第一行\\n第三行（中间第二行为空）\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/\\n\\s*\\r/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e首尾空白字符(包括空格、制表符、换页符等等)(blankSpace)\u003c/summary\u003e\n\u003cp\u003e举例：  测试首尾空白字符  \u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^\\s*|\\s*$/\n2. /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e带有~的字符(wave)\u003c/summary\u003e\n\u003cp\u003e举例：我带有~符号哦！\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/[^~\\x22]+/i\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003exml文件(xml)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\\\.[x|X][m|M][l|L]$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e由26个英文字母组成的字符串(english)\u003c/summary\u003e\n\u003cp\u003e举例：test\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[A-Za-z]+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e由数字和26个英文字母组成的字符串(englishNumber)\u003c/summary\u003e\n\u003cp\u003e举例：0123test456\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[A-Za-z0-9]+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e由数字、26个英文字母或者下划线组成的字符串(englishNumberSymbol)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\w+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eURL(url)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^https?:\\/\\/(([a-zA-Z0-9_-])+(\\.)?)*(:\\d+)?(\\/((\\.)?(\\?)?=?\u0026?[a-zA-Z0-9_-](\\?)?)*)*$/i\n2. /^(https?:\\\\/\\\\/)?([\\\\da-z\\\\.-]+)\\\\.([a-z\\\\.]{2,6})([\\/\\\\w \\\\.-]*)*\\/?$/$1\n3. /[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?\u0026//=]*)/i\n4. /https?:\\/\\/[^\\s]*/\n5. /^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%\u0026=]*)?/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eURI(uri)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/[a-zA-z]+:\\/\\/[^\\s]*/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e匹配双字节字符(包括汉字在内, 一个双字节字符长度计2，ASCII字符计1)(doubleCharacter)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/[^\\x00-\\xff]/g\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eASCII(ascii)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/\\x20-\\x7f/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGBK下的中文(gbkChina)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/\\xa1-\\xff/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e中文(china)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /[\\u4E00-\\u9FA5]/\n2. /^[\\u4e00-\\u9fa5],{0,}$/\n3. /^(?:[\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29]|[\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0])+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eUnicode编码中的汉字范围(chinaChar)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[\\u2E80-\\u9FFF]+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e韩文(korean)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\x3130-\\x318F$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e日文(japanese)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\u0800-\\u4e00$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cp id=\"date\"\u003e\u003c/p\u003e\n\n#### 日期\n\u003cdetails\u003e\n\u003csummary\u003e出生年月日(birth)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(19|20)\\d{2}\\-((0?[1-9])|(1[0-2]))\\-((0?[1-9])|([1-2]\\d)|3[01])$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e日期格式，已考虑平闰年：yyyy-mm-dd(yyyymmdd)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/\n2. /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e日期格式，已考虑平闰年：yyyyMMdd(yyyyMMdd)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?:(?!0000)[0-9]{4}(?:(?:0[1-9]|1[0-2])(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])(?:29|30)|(?:0[13578]|1[02])31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)0229)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e日期正则，简单判定，未做月份及日期的判定(simpleDate)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\d{4}(\\-)\\d{1,2}\\1\\d{1,2}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e日期正则，复杂判定(complexDate)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e月份，格式：\"01\"-\"09\"和\"1\"-\"12\"(month)\u003c/summary\u003e\n\u003cp\u003e举例：05\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(0?[1-9]|1[0-2])$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e一个月的31天，格式：01、09和1、31(day)\u003c/summary\u003e\n\u003cp\u003e举例：31\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^((0?[1-9])|((1|2)[0-9])|30|31)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e12小时制，hh:mm:ss(hours12)\u003c/summary\u003e\n\u003cp\u003e举例：11:32:23\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?:1[0-2]|0?[1-9]):[0-5]\\d:[0-5]\\d$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e24小时制，hh:mm:ss(hours24)\u003c/summary\u003e\n\u003cp\u003e举例：17:32:23\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cp id=\"money\"\u003e\u003c/p\u003e\n\n#### 金额\n\u003cdetails\u003e\n\u003csummary\u003e只能有一位小数(onlyOneDecimal )\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e小数点后只能有最多两位数字（可以有正负号）(twoDigitNumber)\u003c/summary\u003e\n\u003cp\u003e举例：-36.58\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[+-]*(\\d)*(\\.\\d{0,2})*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e格式：\"10000.00\" 和 \"10,000.00\", 和没有 \"分\" 的 \"10000\" 和 \"10,000\"()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[1-9][0-9]*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e任意一个不以0开头的数字，但是，这也意味着一个字符\"0\"不通过(anyNumber)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(0|[1-9][0-9]*)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e一个0或者一个不以0开头的数字，还可以允许开头有一个负号()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(0|-?[1-9][0-9]*)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e以0或者一个可能为负的开头不为0的数字()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[0-9]+(.[0-9]+)?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e小数点后面至少应该有1位数，所以\"10.\"是不通过的，但是 \"10\" 和 \"10.2\" 是通过的()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[0-9]+(.[0-9]{2})?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e这样我们规定小数点后面必须有两位，如果你认为太苛刻了，可以这样()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[0-9]+(.[0-9]{1,2})?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e1到3个数字，后面跟着任意个逗号+3个数字，逗号成为可选，而不是必须(commaSeparation)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cp id=\"number\"\u003e\u003c/p\u003e\n\n#### 数字\n\u003cdetails\u003e\n\u003csummary\u003e纯数字(number)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^-?\\d*\\.?\\d+$/\n2. /^[0-9]*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003en位的数字(nDigitNumber)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\d{n}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e至少n位数字()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\d{n,}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003em-n位的数字(digitsRange)\u003c/summary\u003e\n\u003cp\u003e举例：58\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\d{m,n}$\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e整数(integer)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^-?\\d+$/\n2. /^-?[1-9]\\d*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e正整数(positiveInteger)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^\\d+$/\n2. /^[1-9]\\d*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e非正整数（负整数 + 0）(nonPositiveInteger)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^-[1-9]\\d*|0$/\n2. /^((-\\d+)|(0+))$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e负整数(negtiveInteger)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^-\\d+$/\n2. /^-[1-9]\\d*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e正数(positive)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\d*\\.?\\d+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e正数、负数、和小数(positiveNegative)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(\\-|\\+)?\\d+(\\.\\d+)?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e负数(negative)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^-\\d*\\.?\\d+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e非负整数（正整数 + 0）(nonNegtiveInteger)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^[1-9]\\d*|0$/\n2. /^\\d+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e非零的负整数(nonZeroNegativeInteger)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^\\-[1-9][0-9]*$/\n2. /^-[1-9]\\d*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e非零的正整数(nonZeroPositiveInteger)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^\\+?[1-9][0-9]*$/\n2. /^([1-9][0-9]*){1,3}$ 或 ^\\+?[1-9][0-9]*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e浮点数(floatPoint)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$/\n2. /^(-?\\d+)(\\.\\d+)?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e正浮点数(positiveFloatingPoint)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*$/\n2. /^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e非正浮点数（负浮点数 + 0）(nonPositiveFloatingPoint)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^(-([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*))|0?\\.0+|0$/\n2. /^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$ /\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e负浮点数(negativeFloatingPointNumber)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^-([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*)$/\n2. /^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e非负浮点数（正浮点数 + 0）(nonNegativeFloatingPointNumber)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0$/\n2. /^\\d+(\\.\\d+)?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e非零开头的最多带两位小数的数字()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^([1-9][0-9]*)+(.[0-9]{1,2})?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e有1-4位小数的正实数(positiveRealNumber)\u003c/summary\u003e\n\u003cp\u003e举例：1234\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[0-9]+(.[0-9]{1,4})?$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cp id=\"network\"\u003e\u003c/p\u003e\n\n#### 网络\n\u003cdetails\u003e\n\u003csummary\u003eipv4(ipv4)\u003c/summary\u003e\n\u003cp\u003e举例：127.0.0.1\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eipv6(ipv6)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e网址(website)\u003c/summary\u003e\n\u003cp\u003e举例：http://www.haizlin.com\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?=^.{3,255}$)(http(s)?:\\/\\/)?(www\\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\\d+)*(\\/\\w+\\.\\w+)*([\\?\u0026]\\w+=\\w*)*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e域名(domain)\u003c/summary\u003e\n\u003cp\u003e举例：http://www.baidu.com:8081?a=1\u0026b=c\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e端口号(port)\u003c/summary\u003e\n\u003cp\u003e举例：65535\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[1-9]$|(^[1-9][0-9]$)|(^[1-9][0-9][0-9]$)|(^[1-9][0-9][0-9][0-9]$)|(^[1-6][0-5][0-5][0-3][0-5]$)/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e子网掩码(subnetMask)\u003c/summary\u003e\n\u003cp\u003e举例：255.255.255.0\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(254|252|248|240|224|192|128|0)\\.0\\.0\\.0|255\\.(254|252|248|240|224|192|128|0)\\.0\\.0|255\\.255\\.(254|252|248|240|224|192|128|0)\\.0|255\\.255\\.255\\.(254|252|248|240|224|192|128|0)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ehttp/https(http)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /(http|https):\\/\\/([\\w.]+\\/?)\\S*/\n2. /http[s]{0,1}:\\/\\/([\\w.]+\\/?)\\S*/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cp id=\"other\"\u003e\u003c/p\u003e\n\n#### 其它\n\u003cdetails\u003e\n\u003csummary\u003e5-11位的腾讯QQ号，腾讯QQ号从10000开始(qq)\u003c/summary\u003e\n\u003cp\u003e举例：80285586\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[1-9][0-9]{4,11}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e邮箱(email)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/\n2. /\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*/\n3. /[\\w!#$%\u0026'*+/=?^_{|}~-]+(?:.[\\w!#$%\u0026'*+/=?^_{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?/\n4. /^[a-zA-Z0-9.!#$%\u0026'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n5. /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+@(([a-zA-Z0-9]+)\\.){1,2}[a-z]{2,3}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e银行卡(bankCard)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^([1-9]{1})(\\d{15}|\\d{18})$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eIE版本(ieVervison)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^.*MSIE [5-8](?:\\\\.[0-9]+)?(?!.*Trident\\\\/[5-9]\\\\.0).*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e微信号：6至20位，以字母开头，字母，数字，减号，下划线(weChat)\u003c/summary\u003e\n\u003cp\u003e举例：aya002002\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e文件的扩展名(fileExt)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^.*?\\.(html|css|jpg)$/\n2. /^([a-zA-Z]\\\\:|\\\\\\\\)\\\\\\\\([^\\\\\\\\]+\\\\\\\\)*[^\\\\/:*?\"\u003c\u003e|]+\\\\.txt(l)?$$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e根据工信部2019年最新公布的手机号段()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^(?:(?:\\+|00)86)?1(?:(?:3[\\d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\\d])|(?:9[1|8|9]))\\d{8}$/\n2. /^1[34578]\\d{9}$/\n3. /^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e中国移动(phoneYidong)\u003c/summary\u003e\n\u003cp\u003e举例：13456555555\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^1(34[0-8]|3[5-9\\d]|440|4[78]\\d|5[0-27-9]\\d|70[356]|78\\d|8[2-478]\\d|98\\d)\\d{7}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e中国联通(phoneLiantong)\u003c/summary\u003e\n\u003cp\u003e举例：18689888888\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^1(3[0-2]\\d|4[56]\\d|5[56]\\d|66\\d|70[4789]|71|7[56]\\d|8[56]\\d)\\d{7}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e中国电信(phoneDianxin)\u003c/summary\u003e\n\u003cp\u003e举例：13388888888\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^1(3[3]\\d|349|410|49\\d|53\\d|70[0-2]|7[37]\\d|740|8[019]\\d|99\\d)\\d{7}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e16进制颜色(hexColor)\u003c/summary\u003e\n\u003cp\u003e举例：测试提取16进制的颜色#ff0012值\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e10进制值(decimal)\u003c/summary\u003e\n\u003cp\u003e举例：15\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^d+.d+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eJSON(json)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\w+\\(({[^()]+})\\)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e中文名2到10位（字母，数字，下划线，减号）(chinaName)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[\\u4E00-\\u9FA5]{2,10}(·[\\u4E00-\\u9FA5]{2,10}){0,2}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e中英验证码(verificationCode)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^([a-zA-Z0-9]{4}|[a-zA-Z0-9]{6})$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ehtml标签(htmlTag)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /\u003c(.*)\u003e.*\u003c\\/\\1\u003e|\u003c(.*) \\/\u003e/\n2. /^\u003c([a-z]+)([^\u003c]+)(?:\u003e(.)\u003c/\\1\u003e|\\s+/\u003e)$/\n3. /\u003c\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:\".*?\"|'.*?'|[\\^'\"\u003e\\s]+))?)+\\s*|\\s*)\\/?\u003e/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ehtml注释(htmlNotes)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^\u0026lt;!--[\\s\\S]*?--\u003e$/\n2. /\u0026lt;!--(.*?)--\u003e/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ehtml片段(htmlFragment)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\u003c([a-z]+)([^\u003c]+)*(?:\u003e(.*)\u003c\\\\/\\\\\\\\\\\\1\u003e|\\\\s+\\\\/\u003e)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCSS属性(css)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\\\s*[a-zA-Z\\\\-]+\\\\s*[:]{1}\\\\s[a-zA-Z0-9\\\\s.#]+[;]{1}/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e提取页面的url(htmlUrl)\u003c/summary\u003e\n\u003cp\u003e举例：\u003ca href=\"http://www.baidu.com\"\u003e百度\u003c/a\u003e\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/(\u0026lt;a\\\\s*(?!.*\\\\brel=)[^\u003e]*)(href=\"https?:\\\\/\\\\/)((?!(?:(?:www\\\\.)?'.implode('|(?:www\\\\.)?', $follow_list).'))[^\" rel=\"external nofollow\" ]+)\"((?!.*\\\\brel=)[^\u003e]*)(?:[^\u003e]*)\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e英文名(enName)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^[a-zA-Z0-9_-]{2,10}$/\n2. /^[a-zA-Z]{1}[a-zA-Z\\s]{0,20}[a-zA-Z]{1}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e座机号，固定电话(telephone)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /\\d{3}-\\d{8}|\\d{4}-\\d{7}/\n2. /^(0[0-9]{2})\\d{8}$|^(0[0-9]{3}(\\d{7,8}))$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e普通电话、传真号码：可以\"+\"开头，除数字外，可含有\"-\"(fax)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e电话号码，正确格式：XXXX-XXXXXXX，XXXX-XXXXXXXX，XXX-XXXXXXX，XXX-XXXXXXXX，XXXXXXX，XXXXXXXX(tel)\u003c/summary\u003e\n\u003cp\u003e举例：010-88888888\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e用户名正则，4到16位（字母，数字，下划线，减号）(userName)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^[a-zA-Z0-9_-]{4,16}$/\n2. /^[a-zA-Z][a-zA-Z0-9_]{4,16}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e密码强度正则，最少6位，包括至少1个大写字母，1个小写字母，1个数字，1个特殊字符()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^.*(?=.{6,})(?=.*\\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^\u0026*? ]).*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e6-16位字符，区分大小写（不能是9位以下的纯数字，不含空格），必须包含大写字母()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?!\\d{6,8}$)(?! )(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9_]{6,16}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e6-16个字符，区分大小写（不能是9位以下的纯数字，不含空格）()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?!\\d{6,8}$)(?! )(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9_]{6,16}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e6-20个字符，同时包含大、小写字母及数字，不可包含特殊字符()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{6,20}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e中国邮政编码（六位数）(postalCode)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^\\d{6}$/\n2. /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\\d{4}$/\n3. [1-9]\\d{5}(?!\\d)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e15~18位身份证(idCard)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)/\n2. /^[1-9]{1}\\d{5}(18|19|20)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$/\n3. /^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e18位的新版身份证()\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n1. /^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$/\n2. ^(\\d{6})(\\d{4})(\\d{2})(\\d{2})(\\d{3})([0-9]|X|x)$\n3. /^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e全角标点符(可以有中文)(mark)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/[\\uFF00-\\uFFFF]/g\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e中文、英文、数字包括下划线(zhEnNumber)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[\\\\u4E00-\\\\u9FA5A-Za-z0-9_]+$/$1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e以字母开头，长度在6-18之间，只能包含字符、数字和下划线(beginLetter)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[a-zA-Z]\\w{5,17}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e是否含有 ^%\u0026',;=?$\\\" 等字符(specialChar)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/[^%\u0026',;=?$\\x22]+/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ebase64(base64)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\s*data:(?:[a-z]+\\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$\u0026',()*+;=\\-._~:@\\/?%\\s]*?)\\s*$/i\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e64位md5(md5)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[a-f0-9]{64}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eIMEI(imei)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^\\d{15,17}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ewindow下\"文件夹\"路径(windowFolder)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[a-zA-Z]:\\\\(?:\\w+\\\\?)*$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ewindow下\"文件\"路径(windowFile)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[a-zA-Z]:\\\\(?:\\w+\\\\)*\\w+\\.\\w+$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e视频链接地址(videoUrl)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^https?:\\/\\/.*?(?:swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)$/i\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e图片链接地址(imgUrl)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^https?:\\/\\/.*?(?:gif|png|jpg|jpeg|webp|svg|psd|bmp|tif)$/i\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e统一社会信用代码(creditCode)\u003c/summary\u003e\n\u003cp\u003e举例：12540300G347861750\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e车牌号(新能源+非新能源)(licensePlate)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e新能源车牌号(newEnergy)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e非新能源车牌号(nonNewEnergy)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e护照（包含香港、澳门）(passportId)\u003c/summary\u003e\n\u003cp\u003e举例：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n/(^[EeKkGgDdSsPpHh]\\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\\d{7}$)/\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n### 版本\n* v1.0.0: 初始化项目，添加了112个常用正则，js版本调用模块，有些正则是网上找到的，未找到出处，在此感谢那些作者\n\n## 项目骨干\n- [qq674785876](https://github.com/qq674785876)\n- [undefinedYu](https://github.com/undefinedYu)\n- [qingleizhang123](https://github.com/qingleizhang123)\n- [yxkhaha](https://github.com/yxkhaha)\n- [zhaoqian0901](https://github.com/zhaoqian0901)\n\n## 贡献\n欢迎大家到**Issues**交流或通过提交**PR**的形式对本项目进行贡献\n\n## License\n[![MIT](http://api.haizlin.cn/api?mod=interview\u0026ctr=issues\u0026act=generateSVG\u0026type=regular)](https://github.com/haizlin/h-regular/LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaizlin%2Fh-regular","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaizlin%2Fh-regular","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaizlin%2Fh-regular/lists"}