43 lines
1.1 KiB
Markdown
43 lines
1.1 KiB
Markdown
|
# Domain
|
||
|
|
||
|
- `v::domain()`
|
||
|
- `v::domain(boolean $tldCheck = true)`
|
||
|
|
||
|
Validates domain names.
|
||
|
|
||
|
```php
|
||
|
v::domain()->validate('google.com');
|
||
|
```
|
||
|
|
||
|
You can skip *top level domain* (TLD) checks to validate internal
|
||
|
domain names:
|
||
|
|
||
|
```php
|
||
|
v::domain(false)->validate('dev.machine.local');
|
||
|
```
|
||
|
|
||
|
This is a composite validator, it validates several rules
|
||
|
internally:
|
||
|
|
||
|
* If input is an IP address, it fails.
|
||
|
* If input contains whitespace, it fails.
|
||
|
* If input does not contain any dots, it fails.
|
||
|
* If input has less than two parts, it fails.
|
||
|
* Input must end with a top-level-domain to pass (if not skipped).
|
||
|
* Each part must be alphanumeric and not start with an hyphen.
|
||
|
* [PunnyCode][] is accepted for [Internationalizing Domain Names in Applications][IDNA].
|
||
|
|
||
|
Messages for this validator will reflect rules above.
|
||
|
|
||
|
***
|
||
|
See also:
|
||
|
|
||
|
* [Ip](Ip.md)
|
||
|
* [Json](Json.md)
|
||
|
* [MacAddress](MacAddress.md)
|
||
|
* [Tld](Tld.md)
|
||
|
* [Url](Url.md)
|
||
|
|
||
|
[PunnyCode]: http://en.wikipedia.org/wiki/Punycode "Wikipedia: Punnycode"
|
||
|
[IDNA]: http://en.wikipedia.org/wiki/Internationalized_domain_name#Internationalizing_Domain_Names_in_Applications "Wikipedia: Internationalized domain name"
|