2012-05-23 35 views
1

可能重複:
Check whether the string is a unix timestamp如何在PHP上使用RegExp驗證unix時間?

我需要驗證UNIX時間與PHP的正則表達式。 例子:

<?php 
is_unix($unix) 
{ 
    if(preg_match('/([0-9]+)/' , $unix)) 
    { 
     return true; 
    } 
    return false; 
} 
?> 

感謝;)

+3

零和任何時間'()'產生的任何數字,有效 –

+0

肯定...零個或多個? ? –

+0

您的RegEx只會檢查變量中是否至少有一位數字出現。要檢查整個值,可以使用'/^\ d + $ /'(確保它從字符串的開始處檢查直到結束)或將該值轉換爲int並檢查兩者是否相等:'(int) $ unix == $ unix' – inhan

回答

3

如何:

function is_unix($t) { 
    if (is_numeric($t) && 0<$t && $t<strtotime("some date in the future that you don't expect the value to exceed, but before year 2038")) { 
     return true; 
    }else{ 
     return false; 
} 
+1

用[2038年](http://en.wikipedia.org/wiki/Year_2038_problem)取代'未來的某個日期,你不希望該值超過'? –

+1

@Mark:謝謝,我補充了一點。 – dotancohen