PHP ドメイン名の検証
質問: 正規表現を使用せずに PHP でドメイン名を検証するにはどうすればよいですか?
検証要件:
考えられる答え:
複数のルールと制限をチェックする必要があるため、正規表現を使用せずにドメイン名を検証することはできません。
正規表現パターン:
/^[a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i
意味:
サンプルコード:
<code class="php">function is_valid_domain_name($domain_name) { return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name) //valid chars check && preg_match("/^.{1,253}$/", $domain_name) //overall length check && preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name) ); //length of each label }</code>
テストケース:
域名 | 有效性 |
---|---|
a | Y |
0 | Y |
a.b | Y |
localhost | Y |
google.com | Y |
news.google.co.uk | Y |
xn--fsqu00a.xn--0zwm56d | Y |
goo gle.com | N |
google..com | N |
google.com | N |
google-.com | N |
.google.com | N |
著者別の最新記事
最新の問題
function_exists() はカスタム関数を決定できません
Function test () {return true;} if (function_exists ('test')) {echo "テストは関数です";
から 2024-04-29 11:01:01
0
3
2548
Google Chromeのモバイル版を表示する方法
こんにちは、先生、Google Chrome をモバイル版に変更するにはどうすればよいですか?
から 2024-04-23 00:22:19
0
11
2693
親ウィンドウには出力がありません
document.onclick = function(){ window.opener.document.write('私は子ウィンドウの出力です');
から 2024-04-18 23:52:34
0
1
2141
関連トピック
詳細>
|