• 欢迎访问IT乐园(o゚▽゚)o
  • 推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。

js&php 时间验证

js fhy 7年前 (2017-03-14) 4159次浏览 0个评论

php

//长时间,形如 (2016-01-18 13:04:06)
function isDateTime($str)
{
    //$matches = Array ( [0] => 2003-12-05 20:2:28 [1] => 2003 [2] => - [3] => 12 [4] => 05 [5] => 20 [6] => :[7] => 2 [8] => 28 );
    $s = preg_match('/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2})(:)?(\d{1,2})\6(\d{1,2})$/', $str, $matches);

    if(empty($s))return False;
    if(False === checkdate ($matches[3], $matches[4], $matches[1]))return False; 
    if($matches[5]>24 || $matches[7]>60 || $matches[8]>60)return False;
    return sprintf("%04d-%02d-%02d %02d:%02d:%02d", $matches[1], $matches[3], $matches[4], $matches[5], $matches[7],$matches[8]);
}

调用方式:isDateTime(时间串)
返回 FALSE 说明格式/日期不正确
否则返回格式化过的标准时间传


js

<script>
String.prototype.isTime = function()
{
  var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); 
  if(r == null)
  {
    return false;
  }
  var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
  return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
alert("2015-1-31 12:34:56".isTime());
alert("2016-1-18 12:54:56".isTime());
alert("2002-1-41 12:00:00".isTime());
</script>

IT 乐园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:js&php 时间验证
喜欢 (0)
关于作者:
九零后挨踢男
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址