10个实用的PHP正则表达式

8/31/2015来源:PHP技巧人气:1555

10个实用的php正则表达式

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

  1. 验证E-mail地址

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

123456$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。

12345if (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个字符。同时,也可以根据需要,对最小值和最大值做合理的修改。

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

  3. 验证电话号码

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

123456$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地址的实例。

123456$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. 验证邮政编码

  这是一个用来验证邮政编码的实例。

123456$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的实例。

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

  7. 验证信用卡号

123456$cc <