>백엔드 개발 >PHP 튜토리얼 >문자열이 도메인 이름인지 여부를 확인하는 PHP 일반 방법

문자열이 도메인 이름인지 여부를 확인하는 PHP 일반 방법

WBOY
WBOY원래의
2016-07-25 08:58:022782검색
本文介绍下,在php编程中,用正则表达式判断某一字符串是否为域名的方法,有需要的朋友参考下吧。

通常匹配域名的格式要求:

1、域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。 2、各级域名之间用实点(.)连接,三级域名的长度不能超过20个字符。 3、由多个标号组成的完整域名总共不超过255个字符。

匹配域名的正则:

1、由英文数字 和 “_”组成 [-a-z0-9] 2、每级要以“.”连接 3、三级不能域名长度不超过20 {1,20}

来看一个例子,

<?php
$url = 'www.test.com';
$search = '/---正则N---/';
if(preg_match($search,$url)){
 echo '匹配';
}else {
 echo '不匹配';
} //edit by bbs.it-home.org
?>

以下正则表达式,均来源于网络,供大家学习参考。

正则1 b([a-z0-9] (-[a-z0-9] )*.) [a-z]{2,}b 错误匹配:长度>60 正则2 ^(([^-][a-z0-9A-Z-_] .)*)[^-][a-z0-9A-Z-_] (.[a-zA-Z]{2,4}){1,2}$ 错误匹配:长度>60 错误匹配:www.te_st.com 正则3 (([wd-_] .):?[^-_]) w{2,4} 不匹配:test.com.cn 错误匹配:www.te_st.com 正则4 [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62}) .? 暂无错误 正则5 (?



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.