hotmeteor / regex
A Regex library for Laravel.
Installs: 33 849
Dependents: 0
Suggesters: 0
Security: 0
Stars: 244
Watchers: 3
Forks: 7
Open Issues: 2
Requires
- php: ^8.2
- ext-json: *
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^1.4
- nunomaduro/collision: ^7.0|^8.0
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.0|^11.0
README
A set of ready-made regex helper methods for use in your Laravel application.
Installation
composer require hotmeteor/regex
Usage
Regex comes with a set of common regex patterns that are ready to use. These patterns can be used to either replace or match against values. Every pattern is both case-insensitive and able to interpret unicode characters, and should support all languages.
Additionally, beyond the methods below both the underlying match
and replace
methods are exposed to pass in custom patterns.
Match
Match methods return true or false depending on if the subject value contains anything but the expected pattern.
You may optional allow whitespace by passing true
as a second parameter.
Methods
Regex::isAlpha($subject, $allowWhitespace = false)
Checks if the value contains anything but letters.
Regex::isAlphanumeric($subject, $allowWhitespace = false)
Checks if the value contains anything but letters and numbers.
Regex::isAlphadash($subject, $allowWhitespace = false)
Checks if the value contains anything but letters, numbers, and .-_
.
Regex::isDigits($subject, $allowWhitespace = false)
Checks if the value contains anything but integers.
Regex::isNumeric($subject)
Checks if the value contains anything but numeric values, including decimals and negative numbers. Does not allow for whitespace.
Regex::isUuid($subject)
Checks if the value is a UUID. Does not allow for whitespace.
Regex::isIp($subject) // or Regex::isIpv4($subject)
Checks if the value is an IPv4 address. Does not allow for whitespace.
Regex::isIpv6($subject)
Checks if the value is an IPv6 address. Does not allow for whitespace.
Replace
Replace methods replace anything in the subject value that doesn't match the pattern with the provided replacement.
The default replacement is nothing: it just removes the character.
Methods
Regex::alpha($subject, $replace = '')
Replaces all characters in the subject except letters.
Regex::alphanumeric($subject, $replace = '')
Replaces all characters in the subject except letters and numbers.
Regex::alphadash($subject, $replace = '')
Replaces all characters in the subject except letters, numbers, and .-_
.
Regex::digits($subject, $replace = '')
Replaces all characters in the subject except integers.
Regex::numeric($subject, $replace = '')
Replaces all characters in the subject except numeric values, including decimals and negative numbers.
Regex::uuid($subject)
Replaces all characters in the subject to form it into a UUID. Does not accept a replacement value.
Regex::ip($subject) // or Regex::ipv4($subject)
Replaces all characters in the subject to form it into an IPv4 address. Does not accept a replacement value.
Regex::ipv6($subject)
Replaces all characters in the subject to form it into an IPv6 address. Does not accept a replacement value.