|
|
|
|
|
|
|
|
|
|
|
[{ |
|
|
|
|
|
"name":"Date in format dd/mm/yyyy", |
|
|
|
|
|
"regex":"^(0?[1-9]|[12][0-9]|3[01])([ /\\\\-])(0?[1-9]|1[012])\\\\2([0-9][0-9][0-9][0-9])(([ -])([0-1]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9])?$", |
|
|
|
|
|
"description":"Will match dates with dashes, slashes or with spaces (e.g. dd-mm-yyyy dd/mm/yyyy dd mm yyyy), and optional time separated by a space or a dash (e.g. dd-mm-yyyy-hh:mm:ss or dd/mm/yyyy hh:mm:ss).", |
|
|
|
|
|
"tags":"date,time" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Time in 24-hour format", |
|
|
|
|
|
"regex":"^([01]?[0-9]|2[0-3]):[0-5][0-9]$", |
|
|
|
|
|
"description": "Match times in 24 hour format", |
|
|
|
|
|
"tags":"date,time" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Date and time in ISO-8601 format", |
|
|
|
|
|
"regex":"^(?![+-]?\\\\d{4,5}-?(?:\\\\d{2}|W\\\\d{2})T)(?:|(\\\\d{4}|[+-]\\\\d{5})-?(?:|(0\\\\d|1[0-2])(?:|-?([0-2]\\\\d|3[0-1]))|([0-2]\\\\d{2}|3[0-5]\\\\d|36[0-6])|W([0-4]\\\\d|5[0-3])(?:|-?([1-7])))(?:(?!\\\\d)|T(?=\\\\d)))(?:|([01]\\\\d|2[0-4])(?:|:?([0-5]\\\\d)(?:|:?([0-5]\\\\d)(?:|\\\\.(\\\\d{3})))(?:|[zZ]|([+-](?:[01]\\\\d|2[0-4]))(?:|:?([0-5]\\\\d)))))$", |
|
|
|
|
|
"description": "Will match a valid date and times in the ISO-8601 format, excludes durations.", |
|
|
|
|
|
"tags": "date,time" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"HTML tags", |
|
|
|
|
|
"regex":"^<([a-z1-6]+)([^<]+)*(?:>(.*)<\\\\/\\\\1>| *\\\\/>)$", |
|
|
|
|
|
"description":"Match opening and closing HTML tags with content between", |
|
|
|
|
|
"tags":"markup,xml,html" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Username", |
|
|
|
|
|
"regex":"^[a-zA-Z0-9_-]{3,16}$", |
|
|
|
|
|
"description":"A string between 3 and 16 characters, allowing alphanumeric characters and hyphens and underscores", |
|
|
|
|
|
"tags":"username,validation" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Hex Color Value", |
|
|
|
|
|
"regex":"^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$", |
|
|
|
|
|
"description":"RGB hex colors", |
|
|
|
|
|
"tags":"hex,color" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"URL Slug", |
|
|
|
|
|
"regex":"^[a-z0-9-]+$", |
|
|
|
|
|
"description":"Match valid URL slugs", |
|
|
|
|
|
"tags":"URL" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Email", |
|
|
|
|
|
"regex":"^.+@.+$", |
|
|
|
|
|
"description":"Verify that there is an @ symbol with something before it", |
|
|
|
|
|
"tags":"email,validation" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"SRC of image tag", |
|
|
|
|
|
"regex":"^<\\s*img[^>]+src\\s*=\\s*([\"'])(.*?)\\1[^>]*>$", |
|
|
|
|
|
"description":"Match the src attribute of an HTML image tag", |
|
|
|
|
|
"tags":"html,tag,image" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"URL", |
|
|
|
|
|
"regex":"^((https?|ftp|file):\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$", |
|
|
|
|
|
"description":"Match URL with optional protocol", |
|
|
|
|
|
"tags":"url,address,http" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"IPv4 Address", |
|
|
|
|
|
"regex":"^(?:(?: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]?)$", |
|
|
|
|
|
"description":"Match IP v4 addresses", |
|
|
|
|
|
"tags":"tcpip,internet,address" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"IPv6 Address", |
|
|
|
|
|
"regex":"^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", |
|
|
|
|
|
"description": "Match IP v6 addresses", |
|
|
|
|
|
"tags":"tcpip,internet,address" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"JWT", |
|
|
|
|
|
"regex":"^[A-Za-z0-9-_=]+\\.[A-Za-z0-9-_=]+\\.?[A-Za-z0-9-_.+/=]*$", |
|
|
|
|
|
"description": "JSON Web Token (encoded)", |
|
|
|
|
|
"tags":"www" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Positive Integer", |
|
|
|
|
|
"regex":"^\\d+$", |
|
|
|
|
|
"description":"Match whole numbers above zero", |
|
|
|
|
|
"tags":"number" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Negative Integer", |
|
|
|
|
|
"regex":"^-\\d+$", |
|
|
|
|
|
"description":"Match whole numbers below zero", |
|
|
|
|
|
"tags":"number" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Integer", |
|
|
|
|
|
"regex":"^-?\\d+$", |
|
|
|
|
|
"description":"Match whole numbers, above or below zero", |
|
|
|
|
|
"tags":"number" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Positive number", |
|
|
|
|
|
"regex":"^\\d*\\.?\\d+$", |
|
|
|
|
|
"description":"Match integers or floats that are positive", |
|
|
|
|
|
"tags":"float" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Negative number", |
|
|
|
|
|
"regex":"^-\\d*\\.?\\d+$", |
|
|
|
|
|
"description":"Match integers or floats that are negative", |
|
|
|
|
|
"tags":"float" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Positive or negative number", |
|
|
|
|
|
"regex":"^-?\\d*\\.?\\d+$", |
|
|
|
|
|
"description":"Match integers or floats that are positive or negative", |
|
|
|
|
|
"tags":"float" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Phone number", |
|
|
|
|
|
"regex":"^\\+?(\\d.*){3,}$", |
|
|
|
|
|
"description":"Match phone numbers at least 3 digits long", |
|
|
|
|
|
"tags":"validation" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"New line", |
|
|
|
|
|
"regex":"[\\r\\n]|$", |
|
|
|
|
|
"description":"Match new lines within text", |
|
|
|
|
|
"tags":"text" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"ID of Youtube video", |
|
|
|
|
|
"regex":"https?:\\/\\/(?:youtu\\.be\\/|(?:[a-z]{2,3}\\.)?youtube\\.com\\/watch(?:\\?|#\\!)v=)([\\w-]{11}).*/gi", |
|
|
|
|
|
"description":"Match the ID of a youtube video URL", |
|
|
|
|
|
"tags":"video,youtube,url" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"ID of Youtube Channel", |
|
|
|
|
|
"regex":"https?:\\/\\/(www\\.)?youtube.com\\/channel\\/UC([-_a-z0-9]{22})/i", |
|
|
|
|
|
"description":"Match the ID of a youtube channel URL", |
|
|
|
|
|
"tags":"channel,youtube,url" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"CSS comment", |
|
|
|
|
|
"regex":"\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\/", |
|
|
|
|
|
"description":"Match standard CSS comments", |
|
|
|
|
|
"tags":"css,comment,code" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Wordpress shortcodes", |
|
|
|
|
|
"regex":"^\\[([a-z-_0-9]+)([^\\[]+)*(?:\\](.*)\\[\\/\\1\\]|\\s+\\/\\])$", |
|
|
|
|
|
"description":"Matches opening and closing shortcode tags with content in-between them.", |
|
|
|
|
|
"tags":"wordpress,shortcodes,markup" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"U.S./Canadian ZIP/Postal Code", |
|
|
|
|
|
"regex":"(^\\d{5}(-\\d{4})?$)|(^[ABCEGHJKLMNPRSTVXY]{1}\\d{1}[A-Z]{1} *\\d{1}[A-Z]{1}\\d{1}$)", |
|
|
|
|
|
"description":"Matches US ZIP, ZIP+4, and Canadian Postal Codes", |
|
|
|
|
|
"tags":"address, postal, zip" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"UK Postal Code", |
|
|
|
|
|
"regex":"^(([gG][iI][rR] {0,}0[aA]{2})|(([aA][sS][cC][nN]|[sS][tT][hH][lL]|[tT][dD][cC][uU]|[bB][bB][nN][dD]|[bB][iI][qQ][qQ]|[fF][iI][qQ][qQ]|[pP][cC][rR][nN]|[sS][iI][qQ][qQ]|[iT][kK][cC][aA]) {0,}1[zZ]{2})|((([a-pr-uwyzA-PR-UWYZ][a-hk-yxA-HK-XY]?[0-9][0-9]?)|(([a-pr-uwyzA-PR-UWYZ][0-9][a-hjkstuwA-HJKSTUW])|([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y][0-9][abehmnprv-yABEHMNPRV-Y]))) {0,}[0-9][abd-hjlnp-uw-zABD-HJLNP-UW-Z]{2}))$", |
|
|
|
|
|
"description":"Matches all UK postcodes", |
|
|
|
|
|
"tags":"address, postal, zip" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Brazilian ZIP/Postal Code", |
|
|
|
|
|
"regex":"^[0-9]{5}-[0-9]{3}$", |
|
|
|
|
|
"description":"Matches BR ZIP/Postal Code", |
|
|
|
|
|
"tags":"address, postal, zip" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Morse Code", |
|
|
|
|
|
"regex":"^[.-]{1,5}(?:[ \\t]+[.-]{1,5})*(?:[ \\t]+[.-]{1,5}(?:[ \\t]+[.-]{1,5})*)*$", |
|
|
|
|
|
"description":"Matches valid Morse Code", |
|
|
|
|
|
"tags":"morse, code" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
"name":"Image shortcode", |
|
|
|
|
|
"regex":"\\[img\\](.*?)\\[\\/img\\]", |
|
|
|
|
|
"description":"Matches the content in between [img][/img]. Useful for making dynamic WYSIWYG editors", |
|
|
|
|
|
"tags":"img, shortcode, wysiwyg" |
|
|
|
|
|
} |
|
|
|
|
|
] |