首页 > 编程技术 > php

php验证邮箱地址合法性

发布时间:2016-11-25 15:10

 代码如下 复制代码
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--]

您可能感兴趣的文章: