php验证邮箱地址合法性

 更新时间:2016年11月25日 15:10  点击:1929
 代码如下 复制代码
int preg_match ( string pattern, string subject [, array matches [, int flags]]) 

在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。

如果提供了 matches,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。

 代码如下 复制代码

 

$string = 'cgjp123@163.com.cn';
$pattren = "/^[^_][w]+@[w.]+[w]+[^_]$/";
if(preg_match($pattren,$string,$matches)){
 echo '<pre>';
 print_r($matches);
 echo '</pre>';
}else{
 echo 'wrong email';
}

php中检查email完整性

 代码如下 复制代码
<?php
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]?$",?$email)) {
echo "您的 e-mail 通过初步检查www.111cn.net";
}
?>

^([a-za-z0-9_-]+)@([a-za-z0-9_-]+)(.[a-za-z0-9_-])$/
就是记录邮件地址的用户名,和邮件地址的服务器地址(形式为username@server.com之类的),在后面如果想要读取记录下来的字符串,只是需要用”转义符+记录的次序”来读取。比如”1〃就相当于第一个”[a-za-z0-9_-]+”,”2〃相当于第二个([a-za-z0-9_-]+),”3〃就是第三个(.[a-za-z0-9_-])。但是在php中,”"是一个特殊的字符,需要转义,所以”"到了php的表达式中就应该写成”1〃。
其他特殊符号:
“|”:或符号”|”和php里面的或一样,不过是一个”|”,而不是php的两个”||”!意思就是可以是某个字符或者另一个字符串,比如”/abcd|dcba/”可能匹配”abcd”或者”dcba”。

这里主要是rsort krsort函数,他是对键名进行反序排序了,如果要数组元素值排序用sort就成了,array_multisort这个是对多维数组排序。
*/
$array = array(array('www.111cn.net',6,8),array(1,2,6));
print_r($array);
/*
array
(
    [0] => array
        (
            [0] => www.111cn.net
            [1] => 6
            [2] => 8
        )

    [1] => array
        (
            [0] => 1
            [1] => 2
            [2] => 6
        )

)
*/
array_multisort($array) ;//对二维数组进行排序
print_r($array);
/*
array
(
    [0] => array
        (
            [0] => www.111cn.net
            [1] => 6
            [2] => 8
        )

    [1] => array
        (
            [0] => 1
            [1] => 2
            [2] => 6
        )

)
*/

$ar = array('111cn.net',2,3,5);
rsort($ar);
print_r($ar);
/*
array
(
    [0] => 5
    [1] => 3
    [2] => 2
    [3] => 111cn.net
)
*/

krsort($ar);
print_r($ar);
/*
array
(
    [3] => 111cn.net
    [2] => 2
    [1] => 3
    [0] => 5
)*/

本文章主要讲到两种php 字符串替换函数 str_replace与substr_replace前一种是替换所有haystace中的needle,并返回haystace替换后的结果,而substr_replace替换字符串string中的一部分具体哪能一部分则取决于起始位置和可选参数length的值
最常用str_replace()
  
  函数原型:
  
  mixed str_replace(mixed needle,mixed new_needle,mixed haystace[,int &count])
  
  函数用new_needle替换所有haystace中的needle,并返回haystace替换后的结果.可选的第四个参数count,它包含要执行的替换操作次数.
  
  例:
  

 代码如下 复制代码
  <?php
  function n2n() {
   =array('1','2','3','4','5','6','7','8','9','0');
   =array("7","8","9","0","1","2","3","4","5","6");
   =strlen();
   for(=0;<;++){
    for(=0;<10;++)
  if(==){
   = str_replace(, , );
   break;
  }
   }
   return ;
  }
 
  ="1234abc56";
  echo n2n();
 
 ?>


  
  函数substr_replace()则用来在给定位置中查找和替换字符串中特定的子字符串.原型:
  
  string substr_replace(string string,string replacement,int start,int[length]);

 代码如下 复制代码
 <?php
 echo substr_replace("hello world","earth",6);//hello earth
 ?>


 
 负数时
 

 代码如下 复制代码
 <?php
 substr_replace('huevos','x',-2,-2); //huevxos
 substr_replace('huevos','x',-2,-3); //huevxos
 substr_replace('huevos','x',-2,-3); //huevxos
 ?>


  
  函数使用字符串replacement替换字符串string中的一部分具体哪能一部分则取决于起始位置和可选参数length的值.
  
  start的值代表要替换字符串位置的开始偏移量.如果它为0或是一个正值,就是一个从字符串开始处计算的偏移量;如果它是一个负值,就是从字

在php中有这么一个函数checkdnsrr来验证dns是否可访问来检测邮箱地址是否存在
*/

 代码如下 复制代码

$email ="abc@111cn.net";
$check_email = checkdnsrr($email,"a");

if($check_email) {

return true;

} else {

return false;

}


/*
关于checkdnsrr函数详细说明

bool checkdnsrr ( string $host [, string $type = "mx" ] )

checkdnsrr. 检查指定网址的dns 记录

<?php

 代码如下 复制代码

//this will not work
if(checkdnsrr("round-robin-example.com"),"all")){
     return true;
}else{
     return false;
}

//but every value other than "any" will work
if(checkdnsrr("round-robin-example.com"),"a")){
     return true;
}else{
     return false;
}

指定的参数 host 可以是网络位址 (ip address),也可以用机器名称 (domain name)。参数 type 可以省略,内定值为 mx。而参数 type 的值可为以下的其中之一:a、mx、ns、soa、ptr、cname 或 any。若找到了指定网址的 dns 字段,返回 true;若未找到指定的 dns 字段或是有错误均会返回 false。

浏览器关闭的过程中,服务器上的 session 数据并没有被销毁,因为这时候没有发送任何请求,服务器那边不会知道是否要销毁 session 的数据。浏览器再次启动重新打开页面的时候,发送的 session id 还是原来的 id,虽然你说没用到 cookie,但是这个 id 就是通过 cookie 发送的。

你可以看看 php.ini 的设置,主要看这两项:

 代码如下 复制代码
session.gc_maxlifetime
session.cookie_lifetime


方法二利用onload函数

 代码如下 复制代码

<body onunload="ajax()">
function ajax(){
使用ajax执行unset($_session);
}

[!--infotagslink--]

相关文章

  • Django def clean()函数对表单中的数据进行验证操作

    这篇文章主要介绍了Django def clean()函数对表单中的数据进行验证操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-09
  • JavaScript实现密码框输入验证

    这篇文章主要为大家详细介绍了JavaScript实现密码框输入验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-01
  • Nest.js 授权验证的方法示例

    这篇文章主要介绍了Nest.js 授权验证的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • el-table树形表格表单验证(列表生成序号)

    这篇文章主要介绍了el-table树形表格表单验证(列表生成序号),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-01
  • c#获取本机的IP地址的代码

    c#获取本机的IP地址的代码,需要的朋友可以参考一下...2020-06-25
  • JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)

    这篇文章主要介绍了JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2017-06-15
  • js canvas实现滑块验证

    这篇文章主要为大家详细介绍了js canvas实现滑块验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
  • 微信小程序实现选择地址省市区三级联动

    这篇文章主要为大家详细介绍了微信小程序实现选择地址省市区三级联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-21
  • selenium 反爬虫之跳过淘宝滑块验证功能的实现代码

    这篇文章主要介绍了selenium 反爬虫之跳过淘宝滑块验证功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-27
  • vue element table中自定义一些input的验证操作

    这篇文章主要介绍了vue element table中自定义一些input的验证操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-18
  • vue实现表单验证小功能

    这篇文章主要为大家详细介绍了vue实现表单验证小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-29
  • jquery表单验证插件validation使用方法详解

    这篇文章主要为大家详细介绍了jquery表单验证插件validation使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-23
  • javascript数据类型验证方法

    这篇文章主要为大家分享了一个简单的javascript数据类型验证方法,感兴趣的小伙伴们可以参考一下...2016-01-05
  • C#实现获取MAC地址的方法

    这篇文章主要介绍了C#实现获取MAC地址的方法,很实用的功能,需要的朋友可以参考下...2020-06-25
  • JavaScript表单验证示例详解

    这篇文章主要为大家详细介绍了JavaScript表单验证示例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-04
  • Python验证的50个常见正则表达式

    这篇文章主要给大家介绍了关于利用Python验证的50个常见正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-11
  • Microsoft Expression Web 简体中文正式版 官方下载地址

    Microsoft Expression Web 简体中文正式版相对于早期的 Microsoft Expression Web Designer CTP1(英文)除了它是正式的中文版外,有进步的地方1.对标签的id名称加上了css的代...2020-06-25
  • jQuery实现表单验证功能

    这篇文章主要为大家详细介绍了jQuery实现表单验证功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-21
  • AngularJS中实现用户访问的身份认证和表单验证功能

    这篇文章主要介绍了AngularJS中实现用户访问的身份认证及表单验证功能的方法,Angular是Google开发的一款浏览器端的高人气JavaScript框架,需要的朋友可以参考下...2016-04-23
  • bootstrapValidator自定验证方法写法

    这篇文章主要为大家详细介绍了bootstrapValidator自定验证方法写法,研究bootstrapValidator验证,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-12-02