|
- [{
- "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"
- }
- ]
|