Last active
December 24, 2015 11:39
-
-
Save jimjam88/6792611 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Regex.php | |
* | |
* Simple mapping class for frequently used regular expressions. | |
* | |
* @author James Morgan <[email protected]> | |
*/ | |
final class Regex | |
{ | |
const TOKEN = '/^ewtX\/.+$/'; | |
const MONEY = '/^[0-9]{1,6}\.[0-9]{2}$/'; | |
const STAKE = '/^[0-9]{1,6}\.[0-9]{1,2}$/'; | |
const BET_PRICE = '/^[0-9]*\.[0-9]*$/'; | |
const DATE = '/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/'; | |
const DATETIME = '/^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$/'; | |
const USERNAME = '/^[A-Z0-9]{6,12}$/'; | |
const ALPHABETIC = '/^[A-Za-z]*$/'; | |
const NUMERIC = '/^[0-9]+$/'; | |
const CHANNELS = '/^I|Z|W|P$/'; | |
const TITLE = '/^Mr|Mrs|Miss|Ms|Dr|Cllr$/'; | |
const IP_ADDRESS = '/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/'; | |
const ODDS_FORMAT = '/^ODDS|DECIMAL|AMERICAN|FRACTION$/'; | |
const BET_RECEIPT = '/^[A-Z]\/[0-9]{8}\/[0-9]{7}$/'; | |
const CURRENCY = '/^GBP|EUR$/'; | |
const CARD_EXPIRY = '/^(0[1-9]|1[0-2])\/[0-9]{2}$/'; | |
const STATUS_FLAG = '/^[A-Z_]*$/'; | |
const EMAIL = '/^[A-Za-z0-9_-]*@[A-Za-z0-9]*\.(com|net|gov|org|edu|biz|info)$/'; | |
const ANYTHING = '/^.+$/'; | |
const GENDER = '/^M|F$/'; | |
const YES_OR_NO = '/^Y|N$/'; | |
const POSTCODE = '/^((((ASCN)|(BBND)|(BIQQ)|(FIQQ)|(PCRN)|(SIQQ)|(STHL)|(TDCU)|(TKCA))[\s]1ZZ)|(GX11[\s]1AA)|(AI-2640)|(PO[\s]BOX[\s][0-9]*)|(GIR 0AA)|(((A[BL]|B[ABDHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGKLMNOPRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?[0-9]|((E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(SW|W)([2-9]|[1-9][0-9])|EC[1-9][0-9]) [0-9][ABD-HJLNP-UW-Z]{2}))$/'; | |
const BLANK = '/^$/'; | |
const ALPHABETIC_AND_BLANKS = '/^[A-Za-z ]*$/'; | |
const ALPHABETIC_OR_EMPTY = '/^[A-Za-z]*|$/'; | |
const NUMERIC_OR_EMPTY = '/^[0-9]*|$/'; | |
const ANYTHING_OR_EMPTY = '/^.+|$/'; | |
const UPPERCASE_ALPHABETIC = '/^[A-Z]*$/'; | |
const PASSPORT_REGEX = '/^[A-Z0-9<]{9}[0-9][A-Z][A-Z<]{2}[0-9]{2}[01][0-9][0-3][0-9]{2}[MF<][0-9]{2}[01][0-9][0-3][0-9]{2}[A-Z0-9<]{14}[0-9<][0-9]$/i'; | |
/** | |
* Escape a string. | |
* | |
* @param string $str | |
* @return string | |
*/ | |
public static function escape($str) | |
{ | |
return '/^' . preg_quote($str, '/') . '$/'; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment