php中网址、email、手机号码正则表达代码

1. 判断Email:

域名由各国文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成, 但开头及结尾均不能含有“-”,“-”不能连续出现 。 域名中字母不分大小写。域名最长可达60个字节(包括后缀.com、.net、.org等)。
/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i;
/内容/i 构成一个不区分大小写的正则表达式;

基本规则如下

 代码如下 复制代码
preg_match('/^[a-z0-9_-]+(.[_a-z0-9-]+)*@([_a-z0-9-]+.)+([a-z]{2}
|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/',$email)

例1

 代码如下 复制代码

<?php
function is_email($email){
return strlen($email) > 6 && preg_match(“/^[w-.]+@[w-]+(.w+)+$/“, $email);
}
?>

例2

 代码如下 复制代码

<html>
     <body>
         <?php
             $email_pattern = '/w{6,16}@w{1,}.w{2,3}/i';   
             $email_valid = 'test_123@126.net';
             $email_invalid = 'test@test%@111@com';
             $matches = array();
            
             preg_match($email_pattern, $email_valid, $matches[]);
             preg_match($email_pattern, $email_invalid, $matches[]);
            
             var_dump($matches);
         ?>
     </body>
 </html>

结果

array(2) { [0]=> array(1) { [0]=> string(16) "test_123@126.net" } [1]=> array(0) { } }

2. 判断Url:

例1

 代码如下 复制代码

function is_url($str){
return preg_match(“/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]’:+!]*([^<>"])*$/“, $str);
}

例2

php判断url地址并自动转换为超链接,在一段字符串中用正则表达式匹配出url,在将url转换为超链接,点击可访问地址

 代码如下 复制代码

<?php
function autolink($foo)
{
$foo = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_/+.~#?&//=]+)', '<a href="/1" mce_href="/1" target=_blank rel=nofollow>/1</a>', $foo);
if( strpos($foo, "http") === FALSE ){
$foo = eregi_replace('(www.[-a-zA-Z0-9@:%_/+.~#?&//=]+)', '<a href="http:///1" mce_href="http:///1" target=_blank rel=nofollow >/1</a>', $foo);
}else{
$foo = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_/+.~#?&//=]+)', '/1<a href="http:///2" mce_href="http:///2" target=_blank rel=nofollow >/2</a>', $foo);
}
return $foo;
}

?>

3. 判断手机号码:

例1

 代码如下 复制代码

function is_mobile($str){
return preg_match(“/^(((d{3}))|(d{3}-))?13d{9}$/“, $str);
}

例2

if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$mobilephone)){   
    //验证通过   
       
}else{   
    //手机号码格式不对   
       
}

时间: 2024-09-16 06:30:05

php中网址、email、手机号码正则表达代码的相关文章

php 手机号码正则表达试程序代码

代码如下 function funcMtel($str)//手机号码正则表达试 { return (preg_match("/(?:13d{1}|15[03689])d{8}$/",$str))?true:false; } 测试 18678785887 返回为 false 原因分析,查看了发现上面正则只能验证以13,15开头的,自然18开头的是不可以用的 修改后 代码如下 function funcMtel($str)//手机号码正则表达试 { return (preg_match(&

常用的正则表达试

   public function funcStr($str,$num1='',$num2='') //字符正则表达试  {   if($num1!='' and $num2!=''){    return (preg_match("/^[a-zA-Z]{".$num1.",".$num2."}$/",$str))?true:false;   }else{    return (preg_match("/^[a-zA-Z]/"

javascript邮箱 网址正则验证代码

网页特效邮箱 网址正则验证代码       function checkurl(){         var maxlength = 50;         var url = $("#tbcommentauthorurl").val();                 if(url.length == 0){             commenturlisvalid = true;             return true;         }         else i

js 除去字符串中的重复字符的正则表达

  <html> <head> <title>利用正则表达法除去字符串中的重复字符</title> </head> <body> <script language="网页特效"> str = "google" str1 = str.replace(/(.).*/g,"$1") document.write(str + "<br>")

利用正则表达对IP进行排序的实现代码

1.补零,使得可以按照字符串顺序进行比较. 2.截取保留后三位(ip地址最多就3位). 3.利用Arrays.sort()方法对截取的字符串进行排序.. 4.去除多余的0,回复ip原样. 5.实现代码: package IPSort; import java.util.Arrays; /** * 利用正则表达对IP进行排序,分四步 * @author tiger * */ public class IPSortTest { public static void main(String[] arg

协议解析-python中的正则表达匹配问题

问题描述 python中的正则表达匹配问题 20C ma = re.search(r""^x00x00x00x00x0d"" tcpapp[9:]) 请问这句是什么意思?? 是在qq报文解析中的程序片段. x00x00x00x00x0d如何理解 解决方案 看下基本原则吧 http://m.blog.csdn.net/article/details?id=49151633 解决方案二: Search(patternstringflags=0)方法在一个字符中查找匹配(

python中django框架通过正则搜索页面上email地址的方法_python

本文实例讲述了python中django框架通过正则搜索页面上email地址的方法.分享给大家供大家参考.具体实现方法如下: import re from django.shortcuts import render from pattern.web import URL, DOM, abs, find_urls def index(request): """ find email addresses in requested url or contact page &quo

常用正则表达

今天收藏了大量的正则表达试代码,我想这想这些都是常用的会对各位朋友们有用的.下面来看看吧.       匹配特定字符串:       ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串       ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串       ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串       ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串       ^w+$ //匹配由数字.26个英文字母或者下划线组成的字

js正则表达exec与match的区别说明

 本篇文章主要是对js正则表达exec与match的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用.   最近开发遇到一些需要使用正则表达式,顺便研究一下   正则表达式对象有两个定义方式::    1.第一种定义:   new RegExp(pattern, attributes);如var reg = new RegExp("abc","g&quo