10个实用的PHP正则表达式

正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符、词或算式等。但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时。本文为你介绍10种常见的实用PHP正则表达式的写法,希望对你的工作有所帮助。

1. 验证E-mail地址

这是一个用于验证电子邮件的正则表达式。但它并不是高效、完美的解决方案。在此不推荐使用。

1 $email = "[email protected]";
2 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)) {
3     echo "Your email is ok.";
4 } else {
5     echo "Wrong email address format";
6 }

为了更加有效验证电子邮件地址,推荐使用filer_var

1 if (filter_var(‘[email protected]‘, FILTER_VALIDATE_EMAIL)) {
2     echo "Your email is ok.";
3 } else {
4     echo "Wrong email address format.";
5 }

2. 验证用户名

  这是一个用于验证用户名的实例,其中包括字母、数字(A-Z,a-z,0-9)、下划线以及最低5个字符,最大20个字符。同时,也可以根据需要,对最小值和最大值做合理的修改。

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

3. 验证电话号码

  这是一个验证美国电话号码的实例。

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

4. 验证IP地址

  这是一个用来验证IPv4地址的实例。

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

6. 验证SSN(社会保险号)

  这是一个验证美国SSN的实例。

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

7. 验证信用卡号

1 $cc = "378282246310005";
2 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)) {
3     echo "Your credit card number is ok.";
4 } else {
5     echo "Wrong credit card number.";
6 }

8. 验证域名

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

9. 从特定URL中提取域名

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

10. 将文中关键词高亮显示

1 $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";
2 $text = preg_replace("/\b(regex)\b/i", ‘<span style="background:#5fc9f6">\1</span>‘, $text);
3 echo $text;

来源:http://www.cnblogs.com/rrsina/p/4030968.html

时间: 2024-10-17 20:41:08

10个实用的PHP正则表达式的相关文章

[转]验证E-mail、用户名、社保号、IP地址等10个实用的PHP正则表达式

1. 验证E-mail地址 这是一个用于验证电子邮件的正则表达式.但它并不是高效.完美的解决方案.在此不推荐使用. $email = "[email protected]"; 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.";

10个实用的PHP正则表达式汇总

原文 10个实用的PHP正则表达式汇总 正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符.词或算式等.但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时.本文为你介绍10种常见的实用PHP正则表达式的写法,希望对你的工作有所帮助. 1. 验证E-mail地址 这是一个用于验证电子邮件的正则表达式.但它并不是高效.完美的解决方案.在此不推荐使用. $email = "[email protected]"; if (preg_match('/^[

10段实用的HTML5代码

1.HTML5编写的CSS ResetCSS Reset也可以写成Reset CSS,即重设浏览器样式. /*   html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)  v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark  html5doctor.com/html-5-reset-stylesheet/*/ html, body, d

程序员在编程开发中的10个实用技巧

程序员在编程开发中的10个实用技巧,下面是我自己在工作中学到的一些简单的技巧和策略,希望能对各位有用.1.     橡皮鸭调试法不知道各位有没有这样的经历,当你正在给别人描述问题的时候,突然灵机一动想到了解决方案?这种情况的产生是有科学依据的.高谈阔论能让我们的大脑重新有条理地组织问题.在这种情况下,你的聊天对象就是“橡皮鸭”.团队中的每个人都应该积极主动乐意地成为彼此的“橡皮鸭”.有时候,如果你幸运的话,你的“橡皮鸭”搞不好还能给出有效的建议呢.2.     快速信息反馈一旦写好代码就要尽快得

.NET开发中常用的10条实用代码

1.读取操作系统和CLR的版本 OperatingSystem os = System.Environment.OSVersion; Console.WriteLine(“Platform: {0}”, os.Platform); Console.WriteLine(“Service Pack: {0}”, os.ServicePack); Console.WriteLine(“Version: {0}”, os.Version); Console.WriteLine(“VersionStrin

10个实用Eclipse调试技巧

Eclipse是众多Java程序员实用的开发工具,其中开发技巧也是繁多,但作为优秀的Java程序员,需要掌握最起码的调试技巧. 小编从前辈程序员和网络中,整理了10个Eclipse调试技巧,希望对Java程序员有用. 1 条件断点 如果你不知道如何添加断点,只需点击左边面板(行号前面)断点即被创建.在调试界面中,"断点"视图会把所有被创建的断点列出来.我们可以给它加一个布尔条件,也就是说,该断点会被激活并且如果布尔条件为真,就会执行该断点,否则将会跳过往下执行. 2 异常断点 在断点视

10 个实用技巧,让 Finder 带你飞

Finder 是 Mac 电脑的系统程序,有的功能类似 Windows 的资源管理器.它是我们打开 Mac 首先见到的「笑脸」,有了它,我们可以组织和使用 Mac 里的几乎所有东西,包括应用程序.文件.文件夹.磁盘以及你网络上的共享磁盘,你同时可以通过它看到丰富的.高质量的文件预览. 接下来笔者将和你分享自己使用 Finder 的一些心得,正所谓 10 个技巧,让 Finder 带你「飞」. 1. 在 Finder 窗口显示更多信息 打开任意 Finder 窗口.前往并打开「显示」-「显示路径栏

10款实用Android UI工具库

移动应用的UI设计就好似达摩克利斯之剑,一方面,一个视觉.交互.体验良好的UI可以加强应用在用户心目中的形象和识别性.而另一方面,一个体验糟糕的UI设计不仅无法让用户沉浸在应用中,还会造成用户对应用产生厌恶感.所以说在进行应用开发时,一个高质量的UI对于提高应用下载量有着非常重要的作用.对此,本文特为广大的移动应用开发者献上10款非常实用的Android UI设计工具. ActionBarSherlock:一个独立的设计库,也是GitHub上很火的一个开源项目 Nine Old Androids

分享PHP中的10个实用函数

PHP的功能越来越强大,里面有着非常丰富的内置函数.资深的PHP程序员对它们可能都很熟悉,但很多参加PHP培训的PHP初学者,仍然对一些非常有用的函数不太熟悉.这篇摘抄自兄弟连的文章里,我们就列举10个你或许不了解但实用的PHP函数,供大家参考和学习. 1. php_check_syntax 这个函数可以用来检查特定文件中的PHP语法是否正确. 使用方法: <?php $error_message = ""; $filename = "./php_script.php&