Aşağıdaki formda bir tarih formu varsa, $month=2, $day=31, $year= 2010
. Geçerli tarih olup olmadığını PHP tarih fonksiyonunu kullanarak nasıl doğrulayabilirim? Teşekkürler.PHP ile nasıl doğrulanacağı
cevap
http://php.net/manual/en/function.checkdate.php
checkdate
fonksiyon arama "php doğrulamak tarihine" Senin durumunda
dan google ilk sonuçtur, kullanım olacaktır:
checkdate($month, $day, $year);
Ve en iyi çözüm – RobertPitt
Cevabınızı gönderdiğiniz için teşekkür ederiz! Lütfen buradaki cevabın temel kısımlarını buraya göndermeniz gerektiğini veya postalama risklerinizin silinmesi gerektiğini unutmayın. "Bağlantıdan çok daha fazla" olan cevaplardan bahsedildiği SSS bölümüne bakınız. Bağlantıyı hala isterseniz, sadece 'referans' olarak ekleyebilirsiniz. Cevap, bağlantıya ihtiyaç duymadan kendi başına kalmalıdır. –
bool checkdate (int $month , int $day , int $year)
deneyin ödeme tarihi() http://php.net/manual/en/function.checkdate.php
tarih/geçerli false doğruysacheckdate($month, $day, $year);
döner aksi İşte
Ben DateTime rahatlığı ile() checkdate katılığına birleştirmek ile geldim budur (O 'Bir sonraki Perşembe' veya 'gibi girdileri dönüştürür 2 hafta önce ')
Giriş dizesi geçersizse false değerini döndürür. Boş tarihler boş olarak döndürülür ve boş olmayan tarihler MySQL stili 'Y-m-d' olarak biçimlendirilir.
/**
* @return variant null for empty date, mysql date string for valid date, or false for invalid date string
*/
function myCheckDate($date)
{
$result=false;
if($date=='')
{
$result=null;
}
else
{
//Best of both worlds
// - flexibility of DateTime (next thursday, 2 weeks ago, etc)
// - strictness of checkdate (2000-02-31 is not allowed)
$m=false;
$d=false;
$y=false;
$parts=date_parse($date);
if($parts!==false)
{
$m=$parts['month'];
$d=$parts['day'];
$y=$parts['year'];
}
if($m!==false && $d!==false)
{
if($y===false) $y=date('Y'); //Default to this year
//Try for a specific date - this catches bad entries like 'feb 31, 2000'
if(checkdate($m,$d,$y)) $result=sprintf('%04d-%02d-%02d',$y,$m,$d);
}
else
{
//Try for something more generic - this allows entries like 'next thursday'
$dt=false;
try{ $dt=new \DateTime($date); }catch(\Exception $e){ $dt=false; }
if($dt!==false) $result=$dt->format('Y-m-d');
}
}
return $result;
}
<?php
function validateDate($date, $format = 'Y-m-d H:i:s'){
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
?>
var_dump(validateDate('2012-02-28 12:12:12')); # true
var_dump(validateDate('2012-02-30 12:12:12')); # false
var_dump(validateDate('2012-02-28', 'Y-m-d')); # true
var_dump(validateDate('28/02/2012', 'd/m/Y')); # true
var_dump(validateDate('30/02/2012', 'd/m/Y')); # false
- 1. SonarQube'de, kullanıcıların VSTS formlarının nasıl doğrulanacağı?
- 2. Görüntülü alanların nasıl doğrulanacağı: parsley JS
- 3. php ile nasıl xml doğrulanır
- 4. php ile nasıl ters sayılır?
- 5. PHP ile görüntü nasıl okunur?
- 6. PHP ile nginx nasıl kullanılır?
- 7. php ile sunucuda çalıştırın.
- 8. php ile REST'in Temelleri
- 9. Yıl numarasını PHP ile nasıl edinebilirim?
- 10. MongoDB'yi php 5.3.5 & wamp ile nasıl çalıştırabilirim?
- 11. PHP ile bir SQLite veritabanına nasıl bağlanırım?
- 12. Php ile tarayıcı önbelleği nasıl temizlenir?
- 13. curl ve php ile nasıl spoof referrer?
- 14. Güncel IIS sürümü PHP ile nasıl algılanır?
- 15. WebSocket nasıl kurulur PHP ile güvenli bağlantı?
- 16. 2 dönüş değeri php ile nasıl birleştirilir?
- 17. Bir .gz dosyasını PHP ile nasıl açabilirim?
- 18. PHP ile bir URL yolu nasıl yapılandırılır
- 19. PHP ile bir PDF dosyası nasıl oluşturulur?
- 20. PHP ile nasıl alev grafikleri üretilir?
- 21. nginx php-fpm freetds ile çalışmıyor ama php ile çalışıyor
- 22. PHP ile .htaccess ile url ile url
- 23. HTML formu ile PHP
- 24. PHP Cron ile eşzamanlılık
- 25. PHP ile bash yürütme
- 26. PHP ile SQL'i yorumlama
- 27. Imantreatefrompng ile ilgili (PHP)
- 28. PHP Phar ile Şifreleme
- 29. PHP ile LZMA'nın sıkıştırılması
- 30. PHP: Basit, Dizin altı ise doğrulayın.
tarihleri ** ** metin girişi ** alanları aracılığıyla girilen veya ediliyorsunuz kopyalanan? Genellikle şey tarih akıllıca için, o tarih test edilmesi ve doğrulanması çok kolay ve basit bir yol olabilir olarak ** ** Açılan menüler öneriyoruz. – Eli
@Eli Ne kadar? Firebug veya krom denetçisini kullanarak herkes aşağı açılan menüdeki değerleri düzenleyebilir. Bir tarayıcıdan gelen verileri doğrulamanız gerekir. – Samuel
Üzgünüz, daha açık olmalıydım. Düello doğrulama her zaman en iyisidir. Sayfa ön gönderim validasyonu ve normal kullanıcı için tarih formatının doğrulanması ve işlemden önce sanitasyon için sunucu tarafının onaylanması için (HTML/JavaScript/etc). – Eli