阅读更多

1顶
2踩

编程语言

翻译新闻 10个实用的PHP正则表达式

2011-11-02 17:25 by 见习编辑 zhuyu 评论(1) 有27141人浏览
正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符、词或算式等。但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时。本文为你介绍10种常见的实用PHP正则表达式的写法,希望对你的工作有所帮助。

1. 验证E-mail地址

这是一个用于验证电子邮件的正则表达式。但它并不是高效、完美的解决方案。在此不推荐使用。
$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
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个字符。同时,也可以根据需要,对最小值和最大值做合理的修改。
$username = "user_name12";
if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
    echo "Your username is ok.";
} else {
    echo "Wrong username format.";
}

3. 验证电话号码

这是一个验证美国电话号码的实例。
$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地址的实例。
$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. 验证邮政编码

这是一个用来验证邮政编码的实例。
$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的实例。
$ssn = "333-23-2329";
if (preg_match('/^[\d]{3}-[\d]{2}-[\d]{4}$/',$ssn)) {
    echo "Your SSN is ok.";
} else {
    echo "Wrong SSN.";
}

7. 验证信用卡号
$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. 验证域名
$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中提取域名
$url = "http://ansoncheung.tk/articles";
preg_match('@^(?:http://)?([^/]+)@i', $url, $matches);
$host = $matches[1];

echo $host;

10. 将文中关键词高亮显示
$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;


VIA ANSON CHEUNG
1
2
评论 共 1 条 请登录后发表评论
1 楼 su1216 2011-11-03 14:48
几乎没有意义

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

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

    本文实例讲述了10个实用的PHP正则表达式汇总,分享给大家供大家参考。具体如下: 正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符、词或算式等。但在某些情况下,用正则...

  • Python 正则表达式详解(建议收藏!)

    正则表达式是对字符串提取的一套规则,我们把这个规则用正则里面的特定语法表达出来,去匹配满足这个规则的字符串。正则表达式具有通用型,不仅python里面可以用,其他的语言也一样适用。python中re模块提供了正则...

  • php 正则 不包含某字符串的正则表达式

    但是要匹配一个字符串中,不包含某字符串,用正则就比较麻烦了 如果不用正则 !strstr($str, “abc”); 就可以解决问题了 但是用正则呢,就只有这样了,”/^((?!abc).)*$/is” //————————————————...

  • PHP防止SQL注入与几种正则表达式讲解

    php function customerror($errno, $errstr, $errfile, $errline) { echo &lt;b&gt;error number:&lt;/b&gt; [$errno],error on line $errline in $errfile ; die(); } set_error_handler(customerror,e_error); ...

  • 详解linux正则表达式(基础正则表达式+扩展正则表达式)

    正则表达式应用非常广泛,例如:php,Python,java等,但在linux中最常用的正则表达式的命令就是grep(egrep),sed,awk等,换句话 说linux三剑客要想能工作的更高效,就一定离不开正则表达式的配合。 1、什么是正则...

  • 15个超实用的php正则表达式

    对于开发人员来说,正则表达式是一个非常有用的功能,它提供了 查找,匹配,替换 句子,单词,或者其他格式的字符串。这篇文章主要介绍了15个超实用的php正则表达式,需要的朋友可以参考下

  • php过滤HTML标签、属性等正则表达式汇总

    主要介绍了php过滤HTML标签、属性等正则表达式汇总,本文使用代码实例给出了过滤HTML内容的正则表达式,具体说明请参阅代码中的注释,本文对使用PHP做采集的朋友有比较大的作用,需要的朋友可以参考下

  • PHP正则表达式

    什么是正则表达式? 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文 正则...

  • php用户注册信息验证正则表达式

    各种网页脚本也都常用“正则表达式”(regular expression)对我们信息进行验证,判断是否合法,本文为大家介绍了php用户注册验证正则表达式,需要的朋友可以参考下

  • PHP常用正则表达式精选(推荐)

    PHP常用正则表达式,具体内容如下所述: $regex = '[\u4e00-\u9fa5]'; //匹配中文字符的正则表达式 $regex = '^[\u4E00-\u9FA5A-Za-z0-9]+$'; or $regex = '^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$'; //中文、英文、数字...

  • PHP正则表达式函数学习

    正则表达式是在日常开发中经常用到的,通常一些使用频率过高的正则表达式都是直接粘贴复制,对于基础正则的使用还是要铭记于心的,今天抽时间整理一些php正则表达式的用法。由此可见,{} 花括号和 [] 方括号都是正则...

  • php password密码验证正则表达式(8位长度限制)

    您可能感兴趣的文章:正则表达式 \w \d 的意义PowerShell中使用正则和ValidateSet验证参数合法性Shell正则表达式之grep、sed、awk实操笔记DW 查找某字符串前的所有字符的正则表达式解决正则表达式\w和\d的疑惑

  • PHP正则表达式快速学习及PHP常用正则表达式大全实用文档.doc

    PHP正则表达式快速学习及PHP常用正则表达式大全实用文档.doc

  • PHP 正则表达式函数库(两套)

    PHP中,正则表达式有三个作用: 匹配,也常常用于从字符串中析取信息。 用新文本代替匹配文本。 将一个字符串拆分为一组更小的信息块。 一个正则表达式中至少包含一个原子。 原子(普通字符,如英文字符) 元字符...

  • PHP正则表达式之定界符和原子介绍

    在这之 前,我们需要先了解一个正则表达式处理函数preg_match()来进行测试,以方便我们教程示例的进行。 先来看一下正则表达式的定界符、正则表达式的构成以及preg_match()函数: 1,正则表达式的定界符。 除了字母...

  • php防止sql注入示例分析和几种常见攻击正则表达式

    主要介绍了php防止sql注入漏洞代码和分析,最近提供了几种常见攻击的正则表达式,大家参考使用吧

  • PHP正则表达式教程

    PHP正则表达式教程,从基本概念、语法规则、到匹配、拆分、替换,末尾还有常用的验证应用举例。最后希望大家都能熟练掌握正则表达式的知识并正确运用。

  • php10位数字的正则表达式,最实用的十个PHP正则表达式

    什么是PHP正则表达式?它是对字符串操作的一种逻辑公式,就是用事先...下面就是为大家总结的十条最实用的PHP正则表达式。1、为了更加有效验证电子邮件地址,推荐使用filer_var。if (filter_var('test+email@ansonch...

  • PHP和javascript常用正则表达式及用法实例

    今天我们分别用PHP和Javscript向大家介绍WEB开发中最常用最实用的正则表达式及其用法,正则表达式是一门学科,不可能使用一篇文章来讲解完,理论的东西网上很多,有兴趣的同学可以搜一大把。不过你也许没必要去埋头...

  • c语言涂格子游戏源码.rar

    c语言涂格子游戏源码.rar

Global site tag (gtag.js) - Google Analytics