当前位置:首页 » 编程语言 » php日期正则

php日期正则

发布时间: 2023-05-24 12:21:18

php从一串字符串中用正则提取出年月日

d{4}/d{1,2}/d{1,2}

如果你不是要求很严谨去判断日期的正确性的话,上面这个就足够了.

❷ php正则匹配字符串中是否有日期数据

不觉得长的话,我写一个:
<?php
$preg='/(?:19|20)?(?:[0-9]{2})?(?:-|\s|\/|.|年)?(?:0[1-9]|1[012])(?:-|\s|\/|.|月)(?:0[1-9]|[12][0-9]|3[01])(?:日)?\s?(?:[01][0-9]|2[1-4])?:?(?:[0-6]?[0-9])?:?(?:[0-6]?[0-9])?/i';
$str='2012/02/02 12:12:12开始大幅拉萨拦薯大家12:01舍得离开房间。
开始大幅拉萨大家2012年02月02日 12:12舍得离开2012年02月02日房间2012-02-02';
echo '有'.preg_match_all($preg, $str, $rr).'个时间数据';
printf("<p>输出时间数耐困据为:</p><pre>简亩者%s</pre>\n",var_export( $rr ,TRUE));
?>

❸ php怎么验证date 的输入格式是否正确

上面那个的回答,简直就是瞎胡闹。。人家提问要的是如何验证输入的日期格式。php验证可以用checkdate,这个系统自带函数。checkdate (PHP 3, PHP 4, PHP 5)checkdate -- 验证一个格里高里日期<?php
var_mp(checkdate(12, 31, 2000));
var_mp(checkdate(2, 29, 2001));
?> 上例将输出:bool(true)bool(false)当然还可以用正则验证。if(!ereg("败祥羡[0-9]{4}-[0-9]{2}-[0-9]{2}", $_POST['date1']))
{
echo "日期格式不正确<BR>"察拍;
die();
} 当然前端给你个JS的验证。 <form action="#" method="POST" name="form1"宴逗 onsubmit="return form_sub()">
<br>
请输入日期:<input name="birthday" type="text" id="str_date">(如2010-05-01)
<input type="submit" value="提交日期">
</form>
<script>
function form_sub()
{
if(!test_date(document.form1.str_date.value))
{
alert("日期格式不正确");
return false;
}else{
alert("日期格式正确");
return false;
}
}function test_date(str_date)
{
var pattern = /[0-9]{4}-[0-9]{2}-[0-9]{2}/;
if(pattern.test(str_date))
return true;
else
return false;
}
</script>

❹ php应用:获取日期正则表达式:\\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日

^d{4}(年|-|.)(0?[1-9]|1[0-2])(月|-|.)(0?[1-9]|[1-2]d|3[0-1])日?$

这种是还是有缺陷的你可以看到最后一个,还有就是2月31日这样的也会被匹配的。不过应对一般日期还是可以的。

❺ php 怎么用正则匹配时间

$str = '1970-01-01 08:33:32';
//将找到的保存到$match里
preg_match("/(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/", $str, $match);
/*
match【0】保存整个匹配结果
match【1】-match【6】保存每个()匹配的结果
你只要array_shift(match)就去除了第一个
*/
array_shift($match);
//for test
print_r($match);

❻ PHP如何用正则表达式把标准时间年月日转为横杠形式

首先,应该是双反斜杠,不是单反斜杠


这里提供两种方式


  1. str_replace(array('年','月'),'-',$date_str);

  2. date('Y-m-d H:i',strtotime($date_str));

❼ PHP正则表达式求教,在线等,日期提取

1, 一种是使用以下正则, 取得三个分组, 再将三个分组合并

(d{4})-(d{2})-(d{2})

'aabbccc2016-07-31cccddd99.88eee77.66ffff'.replace(/.*?(d{4})-(d{2})-(d{2}).*/,function(x,a,b,c){returna+b+c})

❽ PHP如何运用正则表达式更改日期

先正则找到日期字符串(中文的日期不行),然后用strtotime得到时间戳,利用改时间戳再次调用strtotime即可。
sample:
$str
=
"date:2012/01/01";
$reg
=
"/:(?<date>.*$)/";
preg_match($reg,
$str,
$match);
$time
=
date("Y-m-d",strtotime('yesterday',
strtotime($match['date'])));
var_mp($time);

❾ PHP正则表达式限制日期范围

绕弯路了把,把用户输入的时间格式用js做限定,然后传到php页面转化为时间辩含拿戳!再来比较!比如用户输入了1980-01-10 那么传到php页面的话这么写(仅供思路参考)

<?php
//...............你自己的代码
$birthTime=strtotime($_POST['birthTime']);//将用户输入的日期转化为时间戳
$startTime=strtotime('1985-01-01');//开始日期的时间戳老段
$endTime=strtotime('1995-12-31');//结束日期的时间戳
if($birthTime>=$startTime&&$birthTime<=$endTime){
echo'日起输入是对的';
}else{
echo'携搭日期非法';
}
?>

❿ PHP正则年月日匹配

既然你要这种给你吧

^d{4}-d{1,2}-d{1,2}$




匹配8个数字标准日期,建议你用2015-08-28这种格式

^[0-9]{4}-(((0[13578]|(10|12))-(0[1-9]|[1-2][0-9]|3[0-1]))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30)))$
热点内容
8加6算法 发布:2024-05-18 15:04:25 浏览:737
名图16款尊享什么配置 发布:2024-05-18 14:55:37 浏览:584
我的世界怎样刷出32k服务器 发布:2024-05-18 14:32:32 浏览:565
c语言程序设计江宝钏 发布:2024-05-18 14:32:22 浏览:780
右击文件夹总是转圈圈 发布:2024-05-18 14:31:10 浏览:696
新建数据库phpmyadmin 发布:2024-05-18 14:22:38 浏览:736
安卓手机设备连接在哪里 发布:2024-05-18 14:08:28 浏览:820
路由器的密码最多是多少位 发布:2024-05-18 13:58:18 浏览:420
扫描服务器名称如何填 发布:2024-05-18 13:36:29 浏览:115
芒果缓存的视频看不了视频怎么下载不了 发布:2024-05-18 13:35:14 浏览:520