php 邮箱,网址,手机号码合法性正则

 更新时间:2016年11月25日 17:30  点击:1610
php 邮箱,网址,手机号码合法性正则 有需要的朋友可参考一下

1. 判断Email:

 代码如下 复制代码

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

2. 判断Url:

 代码如下 复制代码

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

3. 判断手机号码:

 代码如下 复制代码

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

本文章总结了PHP常用的日期和时间一些常用的用法,有需要的朋友可参考一下

1,年-月-日
echo date('Y-m-j');
2007-02-6

echo date('y-n-j');
07-2-6

大写Y表示年四位数字,而小写y表示年的两位数字;
小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。

echo date('Y-M-j');
2007-Feb-6

echo date('Y-m-d');
2007-02-06

大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);
没有大写的J,只有小写j表示月份的日期,无前导o;若需要月份带前导则使用小写d。

echo date('Y-M-j');
2007-Feb-6

echo date('Y-F-jS');
2007-February-6th

大写M表示月份的3个缩写字符,而大写F表示月份的英文全写。(没有小写f)
大写S表示日期的后缀,比如“st”、“nd”、“rd”和“th”,具体看日期数字为何。

小结:
表示年可以用大写的Y和小写y;
表示月可以用大写F、大写M、小写m和小写n(分别表示字符和数字的两种方式);
表示日可以用小写d和小写j,大写S表示日期的后缀。


2,时:分:秒

默认情况下,PHP解释显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时。

echo date('g:i:s a');
5:56:57 am

echo date('h:i:s A');
05:56:57 AM

小写g表示12小时制,无前导0,而小写h则表示有前导0的12小时制。
当使用12小时制时需要表明上下午,小写a表示小写的“am”和“pm”,大写A表示大写的“AM”和“PM”。

echo date('G:i:s');
14:02:26

大写G表示24小时制的小时数,但是不带前导的;使用大写的H表示带前导的24小时制小时数

小结:
字母g表示小时不带前导,字母h表示小时带前导;
小写g、h表示12小时制,大写G、H表示24小时制。

3,闰年、星期、天

echo date('L');
今年是否闰年:0

echo date('l');
今天是:Tuesday

echo date('D');
今天是:Tue

大写L表示判断今年是否闰年,布尔值,为真返回1,否则为0;
小写l表示当天是星期几的英文全写(Tuesday);
而使用大写D表示星期几的3个字符缩写(Tue)。

echo date('w');
今天星期:2

echo date('W');
本周是全年中的第 06 周

小写w表示星期几,数字形式表示
大写W表示一年中的星期数

echo date('t');
本月是 28 天

echo date('z');
今天是今年的第 36 天

小写t表示当前月份又多少天
小写z表示今天是本年中第几天

 

将日间日期转换成时间时间戳

 strtotime(time,now)参数 描述
 time 规定要解析的时间字符串。
 now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
 
 <?php
 echo strtotime("now"), "n";
 echo strtotime("10 September 2000"), "n";
 echo strtotime("+1 day"), "n";
 echo strtotime("+1 week"), "n";
 echo strtotime("+1 week 2 days 4 hours 2 seconds"), "n";
 echo strtotime("next Thursday"), "n";
 echo strtotime("last Monday"), "n";
 ?>
 
 <?php
 $str = 'Not Good';
 
 // previous to PHP 5.1.0 you would compare with -1, instead of false
 if (($timestamp = strtotime($str)) === false) {
  echo "The string ($str) is bogus";
 } else {
  echo "$str == " . date('l dS of F Y h:i:s A', $timestamp);
 }
 ?>
 
 再看strtotime实例
*/
 echo strtotime('2010-2-14'),"<br />";
 echo date('Y-m-d',strtotime('2010-2-14'));
 
 //输出值
 
 1266076800
 2010-02-14
 
 //你应该在strtotime(),你决定什么不能做。例如
 <?php

# on 2/8/2010
date('m/d/y', strtotime('first day')); # 02/01/10
date('m/d/y', strtotime('last day')); # 02/28/10
date('m/d/y', strtotime('last day next month')); # 03/31/10
date('m/d/y', strtotime('last day last month')); # 01/31/10
date('m/d/y', strtotime('2009-12 last day')); # 12/31/09 - this doesn't work if you reverse the order of the year and month
date('m/d/y', strtotime('2009-03 last day')); # 03/31/09
date('m/d/y', strtotime('2009-03')); # 03/01/09
date('m/d/y', strtotime('last day of march 2009')); # 03/31/09
date('m/d/y', strtotime('last day of march')); # 03/31/10
?>


更多相关函数


date_default_timezone_set('PRC'); //默认时区
 $t = time();
 $today=date("Y-m-d",time());
 echo "今天:$today<br />";
 echo "某一天:".date("Y-m-d",strtotime("18 june 2008"))."<br />";
 echo "昨天:".date("Y-m-d",strtotime("-1 day"))."<br />";
 echo "明天:".date("Y-m-d",strtotime("+1 day"))."<br />";
 echo "一周后:".date("Y-m-d",strtotime("+1 week"))."<br />";
 echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds"))."<br />";
 echo "下个星期四:".date("Y-m-d",strtotime("next Thursday"))."<br />";
 echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br />";
 echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br />";
 echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."<br />";
 echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<br />";
 echo "<br />=======================================================<br /><br />";
 $w = date("w",time()); //获取今天是本周周几
 echo "今天是星期$w<br />";
 $d=array("日","一","二","三","四","五","六");
 $whatday="星期".$d[date("w",strtotime($today))]; //获取今天星期几
 echo "今天是$whatday<br />";
 $d0 = date("Y-m-d",strtotime("-$w day",$t)); //周开始
 echo "本周周日是:$d0<br />";
 $d6 = date("Y-m-d",strtotime((6-$w)." day",$t)); //周结束
 echo "本周周六是:$d6<br />";
 
 echo "本周周日是:".date("Y-m-d",strtotime("Sunday"))."<br />";  //周开始
 echo "本周周六是:".date("Y-m-d",strtotime("Saturday"))."<br />";  //周结束
 echo "上周周日是:".date("Y-m-d",strtotime("last Sunday"))."<br />";  //上周开始
 echo "上周周六是:".date("Y-m-d",strtotime("last Saturday"))."<br />";  //上周结束
 echo "<br />=======================================================<br /><br />";
 $time = abs((strtotime("2012-12-21") - strtotime(date("Y-m-d")))/86400);//获取两个日期之间的天数差
 echo "距离世界末日还有:$time 天<br />";  //上周结束

php获取指定字符之间内容实现代码,这是一个获取字符串中两个子串之间的子串,如从字符串www.hzhuti.com中获取hzhuti子串,就让这个PHP函数来实现吧,

代码如下:

 代码如下 复制代码
function get_between($input, $start, $end) { 
 
  $substr = substr($input, strlen($start)+strpos($input, $start),
 
 (strlen($input) - strpos($input, $end))*(-1)); 
 
  return $substr; 
 

 
$string = "www.111cn.net"; 
 
$start = "www."; 
 
$end = ".com"; 
 
echo get_between($string, $start, $end);  // output:hzhuti

不过这个函数有个局限,就是$start子串和$end子串在整个串中只能出现一次。请看下面的例子:

 代码如下 复制代码
$string = "http://www.111cn.net/"; 
 
$start = "http://"; 
 
$end = "/";

很明显我想获取这个标准URL的域名部分,由于$end子串在整个串中不是唯一的,所以就会出现问题,请使用时务必注意!


NAS/NMS   COMPSITE   (NasdaqSC:^IXIC)   Quote   data   by   ReutersIndex   Value:2,030.08Trade   Time:5:16PM   ETChange:   35.40   (1.71%)Prev   Close:2,065.48Open:2,072.95Day 's   Range:2,026.20   -   2,073.4252wk   Range:1,359.32   -   2,153.831d

这样的一个字符串,我要截取Index   Value:和Trade   Time:之间的数据2,030.08,怎么截取?我要通用的方法

代码

 代码如下 复制代码

<?php
$str= "NAS/NMS   COMPSITE   (NasdaqSC:^IXIC)   Quote   data   by   ReutersIndex   Value:2,030.08Trade   Time:5:16PM   ETChange:   35.40   (1.71%)Prev   Close:2,065.48Open:2,072.95Day 's   Range:2,026.20   -   2,073.4252wk   Range:1,359.32   -   2,153.831d ";
preg_match( " 'Index   Value:(.+)Trade   Time 's ",$str,$arr);
if($arr){
      echo   $arr[ "1 "];
}
?>

本文章介绍了关于php分多步填写投票调查表单实现方法,大致为 把用户填写的内容获取之后保存在一个隐藏中,然后最后一步就一次提交给数据库。

1.php

 代码如下 复制代码
<form name=form1 id=form1 method=post action=2.php>
基本信息1:<input type=text name=base1 />
基本信息2:<input type=text name=base2 />
<input type=submit value="下一步">
</form>

2.php

 代码如下 复制代码
<form name=form2 id=form2 method=post action=3.php>
产品名称:<input type=text name=prcname />
产品价格:<input type=text name=price />
产品型号:<input type=text name=prcXH />
<input type=hidden name=base1 value="<?php echo $_REQUEST['base1'] ?>" />
<input type=hidden name=base2 value="<?php echo $_REQUEST['base2'] ?>" />
<input type=submit value=下一步 />
</form>

3.php

 代码如下 复制代码

<form name=form3 id=form3 method=post action=4.php>
其他信息1:<input type=text name=other1 />
其他信息2:<input type=text name=other2 />
<input type=hidden name=base1 value=<?php echo $_REQUEST['base1'] ?> />
<input type=hidden name=base2 value=<?php echo $_REQUEST['base2'] ?> />
<input type=hidden name=prcname value=<?php echo $_REQUEST['prcname'] ?> />
<input type=hidden name=price value=<?php echo $_REQUEST['price'] ?> />
<input type=hidden name=prcXH value=<?php echo $_REQUEST['prcXH'] ?> />
<input type=submit value=确定 />
</form>

4.php

 代码如下 复制代码

<?php
$base1=$_REQUEST['base1'];
$base2=$_REQUEST['base2'];
$prcname=$_REQUEST['prcname'];
$price=$_REQUEST['price'];
$prcXH=$_REQUEST['prcXH'];
$other1=$_REQUEST['other1'];
$other2=$_REQUEST['other2'];

$sql1="insert into [base_table](base1,base2) values('{$base1}','{$base2}')";
$sql2="insert into [prc_table](prcname,price,prcXH) values('{$prcname}','{$price}','{$prcXH}')";
$sql3="insert into [other_table](other1,other2) values('{$other1}','{$other2}')";
query($sql1);
query($sql2);
query($sql3);

echo "写入完成";
?>

总结

这种做的问题在于如果用户不小心关闭了页面数据将要重新再填写一次哦,不过这种方法很多大型网站都是这样做的,包括百度的百科里面的新手升级也是这样处理的。

本文章介绍了在php开发中的一些php 关闭错误提示方法,有需要的朋友可参考本文章。

一,关闭notice错误提示

1、在php.ini文件中改动error_reporting

改为:

 代码如下 复制代码

error_reporting=E_ALL & ~E_NOTICE

2、如果你不能操作php.ini文件,你可以使用如下方法

在你想禁止notice错误提示的页面中加入如下代码:

 代码如下 复制代码

error_reporting(E_ALL^E_NOTICE);

这样出现错误就不会再有任何提示了


二、关闭全部错误提示

php.ini中

打开PHP安装目录下的php.ini文件

 代码如下 复制代码

找到display_errors = On 修改为 display_errors = off

注意:如果你已经把PHP.ini文件复制到windows目录下,那么必须同时把 c:windows/php.ini里的display_errors = On 修改为display_errors = off

php程序开启
 

 代码如下 复制代码

<?php
//禁用错误报告
error_reporting(0);
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//报告所有错误
error_reporting(E_ALL);
?>


 

在性能上关闭错误提示会给服务器性能负载加大不少哦

测试1:


在关闭错误显示的情况下,测试未初始化变量和已初始化变量在10000000次循环中的性能

变量已初始化的循环代码如下:

变量未初始化的循环代码如下:

测试成绩:


初始化:平均 5.28 秒

未初始化:平均 17.2 秒

性能差距:3.25倍


平均时间表:

我们可以看到,关闭掉PHP错误输出并不会关闭php内核对错误的处理,代码中如果有大量的Notice级别的错误,还是会降低php程序的性能。

[!--infotagslink--]

相关文章

  • 怎么查询自己的联通手机号码是否已经实名认证(实名制)?

    怎么查询自己的联通手机号码是否已经实名认证?现在手机一批一批的开始实名制了,自己的手机号买的时候没有实名认证,怎么才能知道自己的手机是否被知名认证了呢?认证以后就不能充话费打电话了,下面我们们一起来看看两种查看方法...2016-07-04
  • 微信小程序开发之获取用户手机号码(php接口解密)

    这篇文章主要介绍了微信小程序开发之获取用户手机号码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-18
  • javascript 手机号码正则表达式验证函数 <font color=red>原创</font>

    随着手机号码段的不断增加,以前网上的手机号码验证函数都不能那么完美的支持了,这里脚本之家编辑特为大家准备的一个简单的正则与手机验证的函数分析。...2021-05-07
  • 比较正宗的验证邮箱的正则表达式js代码详解

    邮箱正则最正宗的一条正则语句是^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$ 下面我们来讲解一下...2021-05-07
  • 浅谈C#手机号换成111XXXX1111 这种显示的解决思路

    下面小编就为大家带来一篇浅谈C#手机号换成111XXXX1111 这种显示的解决思路。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • PHP用户注册邮箱验证正则表达式方法

    邮箱验证使用正则是非常的简单了,我们这里整理了两种PHP用户注册邮箱验证正则表达式方法例子,希望此文章能够让各位有帮助. 这里可以使用到2种方法,一种是用preg_matc...2016-11-25
  • Yii框架实现邮箱激活的方法【数字签名】

    这篇文章主要介绍了Yii框架实现邮箱激活的方法,基于邮箱发送邮件实现数字签名的激活功能,需要的朋友可以参考下...2016-10-20
  • php中固定电话号码和手机号码正则表达式验证

    现在我们来总结一下关于php中固定电话号码和手机号码正则表达式验证,本实现可以验证目前所有中国座机与移动电话号码,有需要的朋友可参考一下。 086-区号-号码-分...2016-11-25
  • php中filter函数验证邮箱、url和ip地址的实例

    在看这函数之前我验证邮箱或IP地址及url都是使用正则表达式来处理,今天发现filter函数可以替换正则哦并且方法简单好用,下面我用实例介绍这函数的用法吧。 早年使用...2016-11-25
  • Ranorex通过Python将报告发送到邮箱的方法

    这篇文章主要介绍了Ranorex通过Python将报告发送到邮箱的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-27
  • js手机号批量滚动抽奖实现代码

    这篇文章主要为大家详细介绍了js手机号批量滚动抽奖实现代码,s适用于年会等活动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-16
  • PHP手机号码归属地查询代码(API接口/mysql)

    文章来介绍一下关于手机号码归属地实现方法,我们可以利用api接口与mysql+php来实例有需要的同学看看。 首先我们介绍使用自己的数据库查询多个手机号码,那还是建...2016-11-25
  • ASP.Net邮箱发邮件实例代码

    ASP.Net邮箱发邮件实例代码,需要的朋友可以参考一下...2021-09-22
  • Spring Boot邮箱链接注册验证及注册流程

    这篇文章给大家介绍Spring Boot邮箱链接注册验证问题及注册流程分析,通过实例代码给大家分享实现过程,感兴趣的朋友跟随小编一起看看吧...2021-07-24
  • Java实现邮箱发送功能实例(阿里云邮箱推送)

    这篇文章主要给大家介绍了关于Java实现邮箱发送功能的相关资料,利用阿里云邮箱推送,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-09-21
  • python 模拟登陆163邮箱

    这篇文章主要介绍了python 模拟登陆163邮箱的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下...2020-12-16
  • 最新手机号码、电话号码正则表达式

    相信大家对正则表达式一定都有所了解和研究,这篇文章主要为大家分享了最新验证手机号码和电话号码的正则表达式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-05-07
  • js验证电话号码手机号码的正则表达式

    本篇文章主要是对js验证电话号码手机号码的正则表达式进行了介绍。需要的朋友可以过来参考下,希望对大家有所帮助...2020-06-25
  • PHP邮箱验证示例教程

    这篇文章主要为大家详细介绍了PHP邮箱验证示例,通过实例一步步带领大家认识PHP邮箱验证的过程,感兴趣的小伙伴们可以参考一下...2016-06-12
  • php中手机号码正则表达式代码

    我们的手机号现在分类中国移动与中国联通了,下面我来给大家先分析他们的特性,然后进行有效的编码。 手机(中国移动手机号码): 代码如下 复制代码 ...2016-11-25