Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyrażenia regularne
Forum PHP.pl > Forum > PHP
matt
oo aaa

od rana meczy mnie jeden problem, a dokładniej format pewnych danych.

chce zeby przy dodawaniu sezony do bazyy danych wymagany format byl LLLL/LLLL np 2004/2005 no i nie moge nic wykombinowac sadsmiley02.gif
takie cos mam

  1. <?php
  2. else if (ereg(&#092;"[1-9]+./+[1-9]\",$sezon)) {
  3.  $blad++;
  4.  echo &#092;"<center><b>Komunikat:</b>&nbsp; Zły format danych. Format pola <b>Sezon</b> musi być 0000/0000.<br></center>\";
  5. } 
  6. ?>


prosilbym tez o jakis dobry art lub cos na temat wyrażen regularnych :roll2:
netzah
Np. to sie nada:
LLLL/LLLL -> [0-9]{4}/[0-9]{4}
matt
Cytat(netzah @ 2004-07-24 12:10:33)
Np. to sie nada:
LLLL/LLLL -> [0-9]{4}/[0-9]{4}

nie pomogło sadsmiley02.gif

zapodaje jeszcze cały kod ktory sprawdza dane z formularza
  1. <?php
  2. $sezon = trim($_POST[&#092;"sezon\"]);
  3.  
  4. if (strlen($sezon)==0) {
  5. $blad++;
  6. echo &#092;"<center><b>Komunikat:</b>&nbsp; Pole <b>Sezon</b> nie może być puste.<br></center>\";
  7. }  else if (ereg(&#092;"[a-zA-Z+_-]\",$sezon)) {
  8. $blad++;
  9. echo &#092;"<center><b>Komunikat:</b>&nbsp; Pole <b>Sezon</b> nie może zawierać liter.<br></center>\";
  10. }
  11.  else if (ereg(&#092;"[0-9]{4}/[0-9]{4}\",$sezon)) {
  12. $blad++;
  13. echo &#092;"<center><b>Komunikat:</b>&nbsp; Zły format danych. Format pola <b>Sezon</b> musi być 0000/0000.<br></
  14.  
  15. center>&#092;";
  16. }
  17.  
  18.  
  19. if ($blad==0) {...
  20. ?>
Dabroz
  1. <?php
  2.  
  3. $sezon=trim($_POST['sezon']);
  4.  
  5. if (!preg_match('#^d{4}/d{4}$#',$sezon))
  6. {
  7. echo(&#092;"<p>Zły format danych. Format pola <b>Sezon</b> musi być 0000/0000.</p>\");
  8. }
  9.  
  10. ?>
matt
moze to glupie ale nadal zle sad.gif

jak zrobie 2004-2005 to dodaje :/

a chce zeby tylko moglo przejsc z LLLL/LLLL np 2004/2005 :/
Dabroz
U mnie dodaje tylko jeżeli użyjesz 0000/0000.
Zamieniłeś krzaki na ! ?
matt
teraz to nic w ogole nie działa, tzn nie chce dodawac laugh.gif

jest tak:

  1. <?php
  2. $sezon = trim($_POST[&#092;"sezon\"]);
  3.  
  4. if (strlen($sezon)==0) {
  5. $blad++;
  6. echo &#092;"<center><b>Komunikat:</b>&nbsp; Pole <b>Sezon</b> nie może być puste.<br></center>\";
  7. }  else if (ereg(&#092;"[a-zA-Z]\",$sezon)) {
  8. $blad++;
  9. echo &#092;"<center><b>Komunikat:</b>&nbsp; Pole <b>Sezon</b> nie może zawierać liter.<br></center>\";
  10. }
  11.  else if (preg_match('#^d{4}/d{4}$#',$sezon)) {
  12. $blad++;
  13. echo &#092;"<center><b>Komunikat:</b>&nbsp; Zły format danych. Format pola <b>Sezon</b> musi być 0000/0000.<br></center>\";
  14. }
  15.  
  16. if ($blad==0) {...
  17. ?>
Dabroz
Pokręciłeś smile.gif

  1. <?php
  2. $sezon = trim($_POST[&#092;"sezon\"]);
  3.  
  4. if (strlen($sezon)==0) {
  5. $blad++;
  6. echo &#092;"<center><b>Komunikat:</b>&nbsp; Pole <b>Sezon</b> nie może być puste.<br></center>\";
  7. }  else if (ereg(&#092;"[a-zA-Z]\",$sezon)) {
  8. $blad++;
  9. echo &#092;"<center><b>Komunikat:</b>&nbsp; Pole <b>Sezon</b> nie może zawierać liter.<br></center>\";
  10. }
  11.  else if (preg_match('#^d{4}/d{4}$#',$sezon)) {
  12. echo &#092;"JEST DOBRZE! :)\";
  13. }
  14.  
  15. if ($blad==0) {...
  16. ?>
seaquest
a ja zaproponuje tak:
  1. <?php
  2. ereg('([0-9]{4})/([0-9]{4})',$sezon);
  3. ?>


u mnie działa
tylko w swoim ifie daj !ereg... exclamation.gif!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.