Heim >Backend-Entwicklung >PHP-Tutorial >php正则判断字符串是否为域名的方法分享

php正则判断字符串是否为域名的方法分享

WBOY
WBOYOriginal
2016-07-25 08:58:022747Durchsuche
本文介绍下,在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 (([\w\d\-_]+\.):?[^-_])+\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 (?



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn