當前位置:首頁 » 編程語言 » 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)))$
熱點內容
ct4哪個配置性價比最高 發布:2025-05-19 15:38:02 瀏覽:952
如何設置強緩存的失效時間 發布:2025-05-19 15:21:28 瀏覽:695
winxp無法訪問 發布:2025-05-19 15:19:48 瀏覽:947
文件預編譯 發布:2025-05-19 15:14:04 瀏覽:643
怎麼在伺服器上掛公網 發布:2025-05-19 15:14:02 瀏覽:272
濟南平安e通如何找回密碼 發布:2025-05-19 14:56:58 瀏覽:176
安卓手機如何找到iccid碼 發布:2025-05-19 14:46:51 瀏覽:227
編譯的內核為什麼那麼大 發布:2025-05-19 14:45:21 瀏覽:179
什麼控制壓縮 發布:2025-05-19 14:28:13 瀏覽:931
網路伺服器忙指什麼 發布:2025-05-19 14:28:10 瀏覽:189