php日期格式合法性正则验证代码

 更新时间:2016年11月25日 17:41  点击:1969
本款php正则日期教程,提供了三种验证用户输入的日期是不是正确的日期格式哦,二种是用正则日期验证,一种是用checkdate来验证。

$days = date("y-m-d");

//方法一正则验证日期

 代码如下 复制代码

$reg="/d{4}-d{2}-d{2}/";
preg_match($reg,$days,$arr);
print_r($arr);


//方法二用cehckdate验证

 代码如下 复制代码
$k = explode('-',$days);
if( checkdate($k[1],$k[2],$k[0])  )
{
 echo $days,'日期合法';
}
else
{
 echo '不是有效的日期';
}

//方法三简单直观正则验证

 代码如下 复制代码
if( ereg("(19|20)[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$",$days))
{
 echo $days,'为有效日期';
}
else
{
 echo

'无效日期';
}

/*
关于 checkdate函数

checkdate() 函数验证一个格里高里日期。

如果指定的值合法,则该函数返回 true,否则返回 false。

日期在下列情况下为合法:
month 介于且包括 1 - 12
day 的值在给定的 month 所应该具有的天数范围之内,闰年已经考虑进去了。
year 介于且包括 1 到 32767


验证格式为 月/日/年

本站原创教程,转载注明来源于www.111cn.net/phper/php.html
*/

本款php 5.3环境配置方法是利用Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置哦,下面来看看安装配置教程哦。

第一步:下载安装的文件
1. mysql:下载地址mysql-5.1.49-win32.msi;
2. apache: 下载地址httpd-2.2.16-win32-x86-openssl-0.9.8o.msi;
3. php5.3.3 下载地址php-5.3.3-win32-vc6-x86注意:一定要下载php-5.3.3-win32-vc6-x86版本
的,不要下载php-5.3.3-nts-win32-vc6-x86版本,更不要下载vc9版本的,因为他是iis服务器安装版本。
第二步:安装文件
1. 在要安装的磁盘建一个文件夹(笔者的做法是在d盘的根目录下创建一个php文件夹d:php)。
2. 安装apache服务器,安装完成后的目录结果是:d:phppache。
3. 把下载的php-5.3.3-win32-vc6-x86解压的d:php目录中,可以把文件夹的名字改短,结果d:phpphp5
4. 安装mysql数据库教程,它的安装和一般情况一样。笔者把他安装在(d:phpmysql)和php同目录。
第三步:配置php5.3.3
1. 配置php5.3.3,打开php安装目录(笔者是d:phpphp5)可以看到目录下有两个这样的文件php.ini- development和php.ini-production,第一个是开发使用的配置文件,第二个是标准的生产环境的配置。
2. 选择php.ini-development复制一份到同目录下,并改名为php.ini使用文本工具打开,查找extension_dir,可以
看到两个,选择on windows:下面的那个并去得前面的分号修改为extension_dir = "d:/php/php5/ext",读者根
据自己的目录结构配置,目的是找到和php.ini同目录下的ext文件夹中的扩展库。
3. 查找extension=php_,去掉extension=php_curl.dll、extension=php_gd2.dll、extension=php_mbstring.dll、
extension=php_mysql.dll、extension=php_mysqli.dll、extension=php_pdo_mysql.dll、extension=php_xmlrpc.dll前面
的分号。查找short_open_tag = off把它修改成short_open_tag = on,让其支持短标签。
4. 复制php5ts.dll文件到windows/system32目录下,只有php-5.3.3-win32-vc6-x86版本中才有php5ts.dll
php-5.3.3-nts-win32-vc6-x86版本是没有的。
第四步:配置apache
1. 打开apache目录下conf目录中的httpd.conf文件,查找#loadmodule,在其末尾处大概是128行的地方
添加:
loadmodule php5_module "d:/php/php5/php5apache2_2.dll"
phpinidir "d:/php/php5"
addtype application/x-httpd-php .php
addtype application/x-httpd-php .htm
addtype application/x-httpd-php .html
目录结构根据用户自己目录配置。
2. 查找directoryindex index.html 将其修改成directoryindex index.php default.php index.html index.htm default.html
default.htm
3. 查找documentroot将其修改为指向你需要放置web文件的文件夹上(笔者在d:/php目录中创建了一个
www文件夹)所以documentroot就是documentroot "d:/php/www",读者可以根据自己配置来修改。
4. 查找<directory将其修改为你自己配置的documentroot的路径(笔者是<directory "d:/php/www">)
第五步:测试php+apache+mysql是否配置成功
1. 打开mysql在mysql中创建一个新数据库和表。(笔者是userinfo数据库和users表就有id和name两个字段)
测试吗?简单就好,呵呵!!
2. 在上面创建的www文件夹中创建一个index.php文件使用editplus或者其他文本工具打开。
3. 写入:


复制代码 代码如下:

 代码如下 复制代码

<?
$db_host = "localhost";
$db_user = "root";
$db_pass = "root";
$db_name = "userinfo";

mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_name);

mysql_query("set names gb2312");
$sql = "select * from users";
$result = mysql_query($sql);
while($data=mysql_fetch_array($result)){
echo "------------------------";
echo $data['id']."<br/>";
echo $data['name']."<br/>";
}
mysql_close();
?>

4.启动apache服务器,在浏览器输入http://www.111cn.net回车。
如果看到下图:表示我们大功告成了!祝贺祝贺!

下面这三款获取当前时间都很好的解决8小时差距问题的,只要在获取时间前加上date_default_timezone_set(\\\"Asia/Chongqing\\\");就解决的时区问题,一般我们用date(),time()函数都会存在时差问题。


/**
  * 获取服务器当前日期时间
  */

 代码如下 复制代码
 function get_server_datetime()
 {
  date_default_timezone_set("asia/chongqing");
  return date("y-m-d h:i:s");
 }

 /**
  * 获取服务器当前日期
  */

 代码如下 复制代码
 function get_server_date()
 {
  date_default_timezone_set("asia/chongqing");
  return date("ymd");
 }

 /**
   * 获取服务器当前时间
   */

 代码如下 复制代码
 function get_time()
 {
      date_default_timezone_set("asia/chongqing");
      $timeval["h"] = date("h"); //小时
      $timeval["i"] = date("i"); //分钟
      $timeval["s"] = date("s"); //秒
      return $timeval;
    }

  ◆ mysql数据库教程默认的编码是utf8,如果这种编码与你的php网页不一致,可能就会造成mysql乱码;

  ◆ mysql中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成mysql乱码;

  ◆ mysql创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成mysql乱码;

  ◆ 用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成php页面乱码;

  ◆ 如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成php页面乱码;

  ◆ php页面字符集不正确;

  ◆ php连接mysql数据库语句指定的编码不正确。


  注意:

  很多人都怀疑mysql版本不一致会导致乱码,相信看了本说明你就不会这样认为了。

  平时你在某些网站看到的文字可能有几种编码, 如你看到一个繁体字,它有可能是big5编码,也有 可能是utf-8编码的,更有可能是gb码的,没错,也就是说有简体编码的繁体字,也有繁体编码的简体字,一定要了解这一点。

  如果你是做一个简体编码的网页,编码定为gb2312,如果有香港和台湾地区的访客提交繁体的信息,就可能会造成乱码,解决方法:

  将网站编码设为 utf-8,这样可以兼容世界上所有字符。

  如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为 gbk, gbk与gb2312的区别就在于:gbk能比gb2312显示更多的字符,要显示简体码的繁体字,就只能用gbk。

  使用mysql+php产生乱码的原因都了解得很清楚了,那么解决就不困难了。

  mysql+php产生乱码的解决办法:

  如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改mysql的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题。

  修改数据库编码,如果是数据库编码不正确,可以在phpmyadmin 执行如下命令:

sql代码
   
01.alter database 'test' default character set utf8 collate utf8_bin 
  以上命令就是将test数据库的编码设为utf8。


  修改表的编码:

sql代码
   
01.alter table 'category' default character set utf8 collate utf8_bin 
 以上命令就是将一个表category的编码改为utf8。

  修改字段的编码:

sql代码
   
01.alter table 'test' change 'dd' 'dd' varchar( 45 ) character  
   
02.set utf8 collate utf8_bin not null 
 以上命令就是将test表中dd的字段编码改为utf8。

  如果是这种情况容易解决,只需检查下页面,修改源文件的charset即可。

  这种情况也是修改页面charset即可。

  在连接数据库的语句中。

sql代码
   
01.mysql_connect('localhost','user','password');  
   
02.mysql_select_db('my_db');  
   
03.mysql_query("set names utf8;");     //select 数据库之后加多这一句 
 为了避免php页面乱码的发生,php页面开始第一句

 

php代码
   
01.header("content-type:text/html; charset=utf-8"); // 
强行指定页面的编码,以避免乱码

  注意:照以上方法修改以后只能保证你新插入的数据不会乱码,举个例:如果你用户已提交的数据是big5,你却想通过以上方法改为可以在gb2312的网页正确显示是不可能的, 这种文字内码的变换只能通过另写程序来解决。

/*
现在我要用dedecms来做一个问答功能,功能是不需要用户登陆并可以提问,因为问题时需要积分所以我把登际与积分都取消了。
找到
post.php教程文件打开并找到

 代码如下 复制代码
if(!isset($action)) $action = '';
if(empty($uid) && $action != 'rate')
{
 showmsgs('no_login','../member/login.php?gourl=../ask/');
 exit;
}


代码过滤掉,这是就是登陆验证,这样提问就不要登陆了,下面取消积分
找到

 代码如下 复制代码
 $needscore = $anonymous * 10 + $reward;
 if($scores < $needscore)
 {
  showmsgs('noscore','-1');
 }

删除就ok了,这样你的dedecms可登陆也可以以直接发布哦。

本站原创教程转载注明来源于www.111cn.net

[!--infotagslink--]

相关文章

  • 一个关于JS正则匹配的踩坑记录

    这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
  • js正则学习小记之匹配字符串字面量

    关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写个语法高亮练手,所以用js代码当作例子...2021-05-07
  • js 正则学习小记之匹配字符串字面量优化篇

    昨天在《js 正则学习小记之匹配字符串字面量》谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的...2021-05-07
  • C#使用正则表达式过滤html标签

    最近在开发一个项目,其中有需求要求我们把一段html转换为一般文本返回,使用正则表达式是明智的选择,下面小编给介绍下C#使用正则表达式过滤html标签,需要的朋友参考下...2020-06-25
  • JS基于正则截取替换特定字符之间字符串操作示例

    这篇文章主要介绍了JS基于正则截取替换特定字符之间字符串操作方法,结合具体实例形式分析了JS基于正则实现针对特殊字符、数字等字符串类型的截取操作相关技巧,需要的朋友可以参考下...2017-02-08
  • 浅谈JS正则RegExp对象

    这篇文章主要介绍JS正则RegExp对象,正则表达式是描述字符模式的对象,用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。下面就来看具体详情,需要的朋友可以参考一下...2021-10-21
  • OpenResty中正则模式匹配的2种方法详解

    在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 Nginx 的规范,下面这篇文章主要给大家介绍了关于OpenResty中正则模式匹配的2种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。...2020-06-30
  • 浅谈js正则之test方法bug篇

    其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西...2021-05-07
  • JS利用正则配合replace替换指定字符

    替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下...2021-05-07
  • Spring-AOP 静态正则表达式方法如何匹配切面

    这篇文章主要介绍了Spring-AOP 静态正则表达式方法如何匹配切面的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-19
  • php正则中文表达式

    php教程正则中文表达式 $str = "abc一二三cde"; echo preg_replace('/[^x4e00-x9fa5]/i'," ",$str); $str = "php编程"; if (preg_match("/^[x4e00-x9fa5]+$/u",$s...2016-11-25
  • C#日期格式字符串的相互转换操作实例分析

    这篇文章主要介绍了C#日期格式字符串的相互转换操作,结合实例形式分析了C#日期格式字符串的相互转换操作函数与相关使用技巧,需要的朋友可以参考下...2020-06-25
  • php正则入门 实习email和URL验证

    匹配email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配网址url的正则表达式:[a-za-z]+://[^s]* 下面看一实例 <body onload="f.a.select();"> <?php...2016-11-25
  • PHP正则判断输入是否字母实例程序

    在php中判断是否为纯字母我们可直接使用正则/^[a-zA-Z]$/来验证了,包括大小写字母哦,有需要了解的同学可参考参考。 上代码 代码如下 复制代码 ...2016-11-25
  • C#正则检测字符串是否字母数字混编的方法

    这篇文章主要介绍了C#正则检测字符串是否字母数字混编的方法,涉及C#正则判定字符串的使用技巧,需要的朋友可以参考下...2020-06-25
  • js时间戳转为日期格式的方法

    这篇文章主要介绍了js时间戳转为日期格式的方法,感兴趣的小伙伴们可以参考一下...2015-12-29
  • 正则文章内容中img图片地址与正则内容中的a连接地址

    本篇实例主要是讲到关于如何使用php中正则表达试来获取我们想要的东西,上面的实例就是要把文章内容字符串的链接地址与图片地址全部取出来,所有我们要正则就方便多了...2016-11-25
  • php正则链接-取得内容所有链接

    下面提供二款关于php正则链接方法,他们可以-取得内容所有链接并且保存到一个数组,当然也可以把链接全部替换哦。 方法一 代码如下 ...2016-11-25
  • PHP正则实战之匹配图片地址程序代码

    取所有内容中图片的地址我们必须使用正则表达式来匹配了,如果不使用它来匹配我们是无法获取到或才能获取到也是非常的麻烦了,下面我们一起来看看我整理了几段匹配图片地...2016-11-25
  • js与jquery正则验证电子邮箱、手机号、邮政编码的方法

    这篇文章主要介绍了js与jquery正则验证电子邮箱、手机号、邮政编码的方法,涉及javascript与jQuery鼠标事件的响应与正则验证操作字符串的相关技巧,需要的朋友可以参考下...2016-07-06