10个实用的PHP正则表明式

 正则表达式是程序开发中一个非同儿戏的要素,它提供用来描述或包容文本的字符串,如特定的字符、词或算式等。但在少数处境下,用正则表达式去证多美滋个字符串比较复杂和积重难返。本文为你介绍10种常见的实用PHP正则表达式的写法,希望对您的做事有所协助。

社会保险 1

  1. 验证E-mail地址

  那是一个用于评释电子邮件的正则表达式。但它并不是全速、完美的缓解方案。在此不推荐应用。

1
2
3
4
5
6
$email = "test@ansoncheung.tk";
if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) {
    echo "Your email is ok.";
} else {
    echo "Wrong email address format";
}

  为了尤其可行认证电子邮件地址,推荐使用filer_var

1
2
3
4
5
if (filter_var('test+email@ansoncheung', FILTER_VALIDATE_EMAIL)) {
    echo "Your email is ok.";
} else {
    echo "Wrong email address format.";
}

  2. 认证用户名

  那是一个用以表明用户名的实例,其中包蕴字母、数字(A-Z,a-z,0-9)、下划线以及最低5个字符,最大20个字符。同时,也足以依据要求,对最小值和最大值做客观的修改。

1
2
3
4
5
6
$username = "user_name12";
if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
    echo "Your username is ok.";
} else {
    echo "Wrong username format.";
}

  3. 认证电话号码

  那是一个证实美利坚同盟国电话号码的实例。

1
2
3
4
5
6
$phone = "(021)423-2323";
if (preg_match('/\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x', $phone)) {
    echo "Your phone number is ok.";
} else {
    echo "Wrong phone number.";
}

社会保险,  4. 验证IP地址

  那是一个用来表明IPv4地址的实例。

1
2
3
4
5
6
$IP = "198.168.1.78";
if (preg_match('/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/',$IP)) {
    echo "Your IP address is ok.";
} else {
    echo "Wrong IP address.";
}

  5. 注解邮编

  那是一个用来验证邮编的实例。

1
2
3
4
5
6
$zipcode = "12345-5434";
 if (preg_match("/^([0-9]{5})(-[0-9]{4})?$/i",$zipcode)) {
 echo "Your Zip code is ok.";
 } else {
 echo "Wrong Zip code.";
 }

  6. 认证SSN(社会保证号)

  那是一个证实美国SSN的实例。

1
2
3
4
5
6
$ssn = "333-23-2329";
if (preg_match('/^[\d]{3}-[\d]{2}-[\d]{4}$/',$ssn)) {
    echo "Your SSN is ok.";
} else {
    echo "Wrong SSN.";
}

  7. 表明信用卡号

1
2
3
4
5
6
$cc = "378282246310005";
if (preg_match('/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/', $cc)) {
    echo "Your credit card number is ok.";
} else {
    echo "Wrong credit card number.";
}

  8. 验证域名

1
2
3
4
5
6
$url = "http://ansoncheung.tk/";
 if (preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)) {
 echo "Your url is ok.";
 } else {
 echo "Wrong url.";
 }

  9. 从一定URL中领取域名

1
2
3
4
$url = "http://ansoncheung.tk/articles";
 preg_match('@^(?:http://)?([^/]+)@i', $url, $matches);
 $host = $matches[1];
echo $host;

  10. 将文中任重先生而道远词高亮突显

1
2
3
$text = "Sample sentence from AnsonCheung.tk, regular expression has become popular in web programming. Now we learn regex. According to wikipedia, Regular expressions (abbreviated as regex or regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor";
$text = preg_replace("/\b(regex)\b/i", '<span style="background:#5fc9f6">\1</span>', $text);
echo $text;

发表评论

电子邮件地址不会被公开。 必填项已用*标注