All Projects → haizlin → H Regular

haizlin / H Regular

Licence: mit
在日常开发中积累的110多个正则表达式,欢迎大家提PR补充

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to H Regular

Commonregex
🍫 A collection of common regular expressions for Go
Stars: ✭ 733 (+1208.93%)
Mutual labels:  pattern, regexp
html-comment-regex
Regular expression for matching HTML comments
Stars: ✭ 15 (-73.21%)
Mutual labels:  pattern, regexp
globrex
Glob to regular expression with support for extended globs.
Stars: ✭ 52 (-7.14%)
Mutual labels:  pattern, regexp
Traces.vim
Range, pattern and substitute preview for Vim
Stars: ✭ 568 (+914.29%)
Mutual labels:  pattern
Guardclauses
A simple package with guard clause extensions.
Stars: ✭ 767 (+1269.64%)
Mutual labels:  pattern
Mruby Regexp Pcre
Regular expression library for mruby, PCRE version.
Stars: ✭ 15 (-73.21%)
Mutual labels:  regexp
Input Mask Android
User input masking library repo.
Stars: ✭ 1,060 (+1792.86%)
Mutual labels:  pattern
Rust Design Pattern
rust design patterns
Stars: ✭ 529 (+844.64%)
Mutual labels:  pattern
Naming Cheatsheet
Comprehensive language-agnostic guidelines on variables naming. Home of the A/HC/LC pattern.
Stars: ✭ 9,475 (+16819.64%)
Mutual labels:  pattern
Flutter realworld example app
Work in progress...
Stars: ✭ 12 (-78.57%)
Mutual labels:  pattern
Php Interview
PHP后端开发面试指南。
Stars: ✭ 26 (-53.57%)
Mutual labels:  pattern
Extending Tea
Example of an extension to The Elm Architecture
Stars: ✭ 30 (-46.43%)
Mutual labels:  pattern
Textblob
Simple, Pythonic, text processing--Sentiment analysis, part-of-speech tagging, noun phrase extraction, translation, and more.
Stars: ✭ 7,991 (+14169.64%)
Mutual labels:  pattern
Pytest Patterns
A couple of examples showing how pytest and its plugins can be combined to solve real-world needs.
Stars: ✭ 24 (-57.14%)
Mutual labels:  pattern
Glob
Go glob
Stars: ✭ 670 (+1096.43%)
Mutual labels:  pattern
Bentools Etl
PHP ETL (Extract / Transform / Load) library with SOLID principles + almost no dependency.
Stars: ✭ 45 (-19.64%)
Mutual labels:  pattern
Onigmo
Onigmo is a regular expressions library forked from Oniguruma.
Stars: ✭ 536 (+857.14%)
Mutual labels:  regexp
Example Render Callback
An example of sharing stateful logic across React components using the Render Callback (aka Function as Child) pattern
Stars: ✭ 17 (-69.64%)
Mutual labels:  pattern
Ts Pattern
🎨 A complete Pattern Matching library for TypeScript, with smart type inference.
Stars: ✭ 854 (+1425%)
Mutual labels:  pattern
Regexr
For composing regular expressions without the need for double-escaping inside strings.
Stars: ✭ 53 (-5.36%)
Mutual labels:  regexp

常用正则表达式

在日常js开发中积累的一些正则表达式,适用于浏览器和Node环境,欢迎大家提PR补充

  • 交流讨论:维护了一个正则交流微信群(只讨论正则相关),欢迎加入讨论,微信关注公众号:前端剑解,点击公众号的菜单:进群交流,并备注“正则”即可入群

安装

// npm安装
npm i h-regular --save

// yarn安装
yarn add h-regular

引用

import hRegular from 'h-regular' // 全部引入
import { email, phone } from 'h-regular' // 部分引入
const hRegular = require('h-regular') // ES5模块引入

使用

// 返回的是所有正则表达式的对象
console.log(hRegular)

// 返回的是单个正则表达式
console.log(email)

目录

字符 | 日期 | 数字 | 金额 | 网络 | 其它

正则表达式列表

字符

全角字符(fullAngle)

举例:


1. /[^\uFF00-\uFFFF]/g
2. /[^\x00-\xff]/g
半角字符(halfAngle)

举例:这是半角字符


/[\x00-\xff]/g
空白行(blank)

举例:第一行\n第三行(中间第二行为空)


/\n\s*\r/
首尾空白字符(包括空格、制表符、换页符等等)(blankSpace)

举例: 测试首尾空白字符


1. /^\s*|\s*$/
2. /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g
带有~的字符(wave)

举例:我带有~符号哦!


/[^~\x22]+/i
xml文件(xml)

举例:


/^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$/
由26个英文字母组成的字符串(english)

举例:test


/^[A-Za-z]+$/
由数字和26个英文字母组成的字符串(englishNumber)

举例:0123test456


/^[A-Za-z0-9]+$/
由数字、26个英文字母或者下划线组成的字符串(englishNumberSymbol)

举例:


/^\w+$/
URL(url)

举例:


1. /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i
2. /^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\/\\w \\.-]*)*\/?$/$1
3. /[[email protected]:%_\+.~#?&//=]*)/i
4. /https?:\/\/[^\s]*/
5. /^(f|ht){1}(tp|tps):\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/
URI(uri)

举例:


/[a-zA-z]+:\/\/[^\s]*/
匹配双字节字符(包括汉字在内, 一个双字节字符长度计2,ASCII字符计1)(doubleCharacter)

举例:


/[^\x00-\xff]/g
ASCII(ascii)

举例:


/\x20-\x7f/
GBK下的中文(gbkChina)

举例:


/\xa1-\xff/
中文(china)

举例:


1. /[\u4E00-\u9FA5]/
2. /^[\u4e00-\u9fa5],{0,}$/
3. /^(?:[\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])+$/
Unicode编码中的汉字范围(chinaChar)

举例:


/^[\u2E80-\u9FFF]+$/
韩文(korean)

举例:


/^\x3130-\x318F$/
日文(japanese)

举例:


/^\u0800-\u4e00$/

日期

出生年月日(birth)

举例:


/^(19|20)\d{2}\-((0?[1-9])|(1[0-2]))\-((0?[1-9])|([1-2]\d)|3[01])$/
日期格式,已考虑平闰年:yyyy-mm-dd(yyyymmdd)

举例:


1. /^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/
2. /^(?:(?!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)$/
日期格式,已考虑平闰年:yyyyMMdd(yyyyMMdd)

举例:


/^(?:(?!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)$/
日期正则,简单判定,未做月份及日期的判定(simpleDate)

举例:


/^\d{4}(\-)\d{1,2}\1\d{1,2}$/
日期正则,复杂判定(complexDate)

举例:


/^(?:(?!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)$/
月份,格式:"01"-"09"和"1"-"12"(month)

举例:05


/^(0?[1-9]|1[0-2])$/
一个月的31天,格式:01、09和1、31(day)

举例:31


/^((0?[1-9])|((1|2)[0-9])|30|31)$/
12小时制,hh:mm:ss(hours12)

举例:11:32:23


/^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/
24小时制,hh:mm:ss(hours24)

举例:17:32:23


/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/

金额

只能有一位小数(onlyOneDecimal )

举例:


/^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$/
小数点后只能有最多两位数字(可以有正负号)(twoDigitNumber)

举例:-36.58


/^[+-]*(\d)*(\.\d{0,2})*$/
格式:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000"()

举例:


/^[1-9][0-9]*$/
任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过(anyNumber)

举例:


/^(0|[1-9][0-9]*)$/
一个0或者一个不以0开头的数字,还可以允许开头有一个负号()

举例:


/^(0|-?[1-9][0-9]*)$/
以0或者一个可能为负的开头不为0的数字()

举例:


/^[0-9]+(.[0-9]+)?$/
小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的()

举例:


/^[0-9]+(.[0-9]{2})?$/
这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样()

举例:


/^[0-9]+(.[0-9]{1,2})?$/
1到3个数字,后面跟着任意个逗号+3个数字,逗号成为可选,而不是必须(commaSeparation)

举例:


/^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$/

数字

纯数字(number)

举例:


1. /^-?\d*\.?\d+$/
2. /^[0-9]*$/
n位的数字(nDigitNumber)

举例:


/^\d{n}$/
至少n位数字()

举例:


/^\d{n,}$/
m-n位的数字(digitsRange)

举例:58


/^\d{m,n}$
整数(integer)

举例:


1. /^-?\d+$/
2. /^-?[1-9]\d*$/
正整数(positiveInteger)

举例:


1. /^\d+$/
2. /^[1-9]\d*$/
非正整数(负整数 + 0)(nonPositiveInteger)

举例:


1. /^-[1-9]\d*|0$/
2. /^((-\d+)|(0+))$/
负整数(negtiveInteger)

举例:


1. /^-\d+$/
2. /^-[1-9]\d*$/
正数(positive)

举例:


/^\d*\.?\d+$/
正数、负数、和小数(positiveNegative)

举例:


/^(\-|\+)?\d+(\.\d+)?$/
负数(negative)

举例:


/^-\d*\.?\d+$/
非负整数(正整数 + 0)(nonNegtiveInteger)

举例:


1. /^[1-9]\d*|0$/
2. /^\d+$/
非零的负整数(nonZeroNegativeInteger)

举例:


1. /^\-[1-9][0-9]*$/
2. /^-[1-9]\d*$/
非零的正整数(nonZeroPositiveInteger)

举例:


1. /^\+?[1-9][0-9]*$/
2. /^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$/
浮点数(floatPoint)

举例:


1. /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/
2. /^(-?\d+)(\.\d+)?$/
正浮点数(positiveFloatingPoint)

举例:


1. /^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/
2. /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/
非正浮点数(负浮点数 + 0)(nonPositiveFloatingPoint)

举例:


1. /^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$/
2. /^((-\d+(\.\d+)?)|(0+(\.0+)?))$ /
负浮点数(negativeFloatingPointNumber)

举例:


1. /^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/
2. /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/
非负浮点数(正浮点数 + 0)(nonNegativeFloatingPointNumber)

举例:


1. /^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$/
2. /^\d+(\.\d+)?$/
非零开头的最多带两位小数的数字()

举例:


/^([1-9][0-9]*)+(.[0-9]{1,2})?$/
有1-4位小数的正实数(positiveRealNumber)

举例:1234


/^[0-9]+(.[0-9]{1,4})?$/

网络

ipv4(ipv4)

举例:127.0.0.1


/^(?:(?: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]?)$/
ipv6(ipv6)

举例:


/^((([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
网址(website)

举例:http://www.haizlin.com


/^(?=^.{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+)*([\?&]\w+=\w*)*$/
域名(domain)

举例:http://www.baidu.com:8081?a=1&b=c


/^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$/
端口号(port)

举例:65535


/^[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]$)/
子网掩码(subnetMask)

举例:255.255.255.0


/^(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)$/
http/https(http)

举例:


1. /(http|https):\/\/([\w.]+\/?)\S*/
2. /http[s]{0,1}:\/\/([\w.]+\/?)\S*/

其它

5-11位的腾讯QQ号,腾讯QQ号从10000开始(qq)

举例:80285586


/^[1-9][0-9]{4,11}$/
邮箱(email)

举例:


1. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/
2. /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
3. /[\w!#$%&'*+/=?^_{|}~-]+(?:.[\w!#$%&'*+/=?^_{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/
4. /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-][email protected][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])?)*$/
5. /^[a-zA-Z0-9]+[a-zA-Z0-9_.-][email protected](([a-zA-Z0-9]+)\.){1,2}[a-z]{2,3}$/
银行卡(bankCard)

举例:


/^([1-9]{1})(\d{15}|\d{18})$/
IE版本(ieVervison)

举例:


/^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$/
微信号:6至20位,以字母开头,字母,数字,减号,下划线(weChat)

举例:aya002002


/^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/
文件的扩展名(fileExt)

举例:


1. /^.*?\.(html|css|jpg)$/
2. /^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$$/
根据工信部2019年最新公布的手机号段()

举例:


1. /^(?:(?:\+|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}$/
2. /^1[34578]\d{9}$/
3. /^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/
中国移动(phoneYidong)

举例:13456555555


/^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}$/
中国联通(phoneLiantong)

举例:18689888888


/^1(3[0-2]\d|4[56]\d|5[56]\d|66\d|70[4789]|71|7[56]\d|8[56]\d)\d{7}$/
中国电信(phoneDianxin)

举例:13388888888


/^1(3[3]\d|349|410|49\d|53\d|70[0-2]|7[37]\d|740|8[019]\d|99\d)\d{7}$/
16进制颜色(hexColor)

举例:测试提取16进制的颜色#ff0012值


/#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})/
10进制值(decimal)

举例:15


/^d+.d+$/
JSON(json)

举例:


/^\w+\(({[^()]+})\)$/
中文名2到10位(字母,数字,下划线,减号)(chinaName)

举例:


/^[\u4E00-\u9FA5]{2,10}(·[\u4E00-\u9FA5]{2,10}){0,2}$/
中英验证码(verificationCode)

举例:


/^([a-zA-Z0-9]{4}|[a-zA-Z0-9]{6})$/
html标签(htmlTag)

举例:


1. /.*|/
2. /^(.)\1>|\s+/>)$/
3. /\s]+))?)+\s*|\s*)\/?>/
html注释(htmlNotes)

举例:


1. /^<!--[\s\S]*?-->$/
2. /<!--(.*?)-->/
html片段(htmlFragment)

举例:


/^(.*)|\\s+\\/>)$/
CSS属性(css)

举例:


/^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}/
提取页面的url(htmlUrl)

举例:百度


/(<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^" rel="external nofollow" ]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
英文名(enName)

举例:


1. /^[a-zA-Z0-9_-]{2,10}$/
2. /^[a-zA-Z]{1}[a-zA-Z\s]{0,20}[a-zA-Z]{1}$/
座机号,固定电话(telephone)

举例:


1. /\d{3}-\d{8}|\d{4}-\d{7}/
2. /^(0[0-9]{2})\d{8}$|^(0[0-9]{3}(\d{7,8}))$/
普通电话、传真号码:可以"+"开头,除数字外,可含有"-"(fax)

举例:


/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/
电话号码,正确格式:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX(tel)

举例:010-88888888


/^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$/
用户名正则,4到16位(字母,数字,下划线,减号)(userName)

举例:


1. /^[a-zA-Z0-9_-]{4,16}$/
2. /^[a-zA-Z][a-zA-Z0-9_]{4,16}$/
密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符()

举例:


/^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[[email protected]#$%^&*? ]).*$/
6-16位字符,区分大小写(不能是9位以下的纯数字,不含空格),必须包含大写字母()

举例:


/^(?!\d{6,8}$)(?! )(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9_]{6,16}$/
6-16个字符,区分大小写(不能是9位以下的纯数字,不含空格)()

举例:


/^(?!\d{6,8}$)(?! )(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9_]{6,16}$/
6-20个字符,同时包含大、小写字母及数字,不可包含特殊字符()

举例:


/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,20}$/
中国邮政编码(六位数)(postalCode)

举例:


1. /^\d{6}$/
2. /^(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}$/
3. [1-9]\d{5}(?!\d)
15~18位身份证(idCard)

举例:


1. /(^[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}$)/
2. /^[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]$/
3. /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/
18位的新版身份证()

举例:


1. /^[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]$/
2. ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X|x)$
3. /^[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)$/
全角标点符(可以有中文)(mark)

举例:


/[\uFF00-\uFFFF]/g
中文、英文、数字包括下划线(zhEnNumber)

举例:


/^[\\u4E00-\\u9FA5A-Za-z0-9_]+$/$1
以字母开头,长度在6-18之间,只能包含字符、数字和下划线(beginLetter)

举例:


/^[a-zA-Z]\w{5,17}$/
是否含有 ^%&',;=?$\" 等字符(specialChar)

举例:


/[^%&',;=?$\x22]+/
base64(base64)

举例:


/^\s*data:(?:[a-z]+\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*?)\s*$/i
64位md5(md5)

举例:


/^[a-f0-9]{64}$/
IMEI(imei)

举例:


/^\d{15,17}$/
window下"文件夹"路径(windowFolder)

举例:


/^[a-zA-Z]:\\(?:\w+\\?)*$/
window下"文件"路径(windowFile)

举例:


/^[a-zA-Z]:\\(?:\w+\\)*\w+\.\w+$/
视频链接地址(videoUrl)

举例:


/^https?:\/\/.*?(?:swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)$/i
图片链接地址(imgUrl)

举例:


/^https?:\/\/.*?(?:gif|png|jpg|jpeg|webp|svg|psd|bmp|tif)$/i
统一社会信用代码(creditCode)

举例:12540300G347861750


/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/
车牌号(新能源+非新能源)(licensePlate)

举例:


/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/
新能源车牌号(newEnergy)

举例:


/[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$/
非新能源车牌号(nonNewEnergy)

举例:


/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/
护照(包含香港、澳门)(passportId)

举例:


/(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/

版本

  • v1.0.0: 初始化项目,添加了112个常用正则,js版本调用模块,有些正则是网上找到的,未找到出处,在此感谢那些作者

项目骨干

贡献

欢迎大家到Issues交流或通过提交PR的形式对本项目进行贡献

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].