Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Eregi ze spacjami
Forum PHP.pl > Forum > Przedszkole
nexis
Witam,

warunek:

  1. <?php
  2. if ((eregi("^[0-9]{6,18}$", $_POST['phone'])) {}
  3. ?>


Będzie prawdziwy dla wszystkich liczb od 6 do 18 znakowych, ale jak uwzględnić format numerów telefonów:

0 509 876 543

Czyli jak dodać do wyrażenia regularnego jeszcze spację?
mdco
np tak
  1. <?php
  2. if ((eregi("^[0-9]s[0-9]{3}s[0-9]{3}s[0-9]{3}$", $_POST['phone'])) {}
  3. ?>

uzywaj preg_match" title="Zobacz w manualu php" target="_manual jest szybsze winksmiley.jpg
nexis
Ten warunek ma jednak dopuszczać różne formaty liczb, czyli 0509876543 oraz 0 509 876 543. Powinien więc akceptować cyfry od 1 do 9 oraz spacje. Ty podałeś konkretny format co nie rozwiązuje problemu.
php programmer
ja bym zrobił to tak:
  1. <?php
  2. if ((eregi("^[0-9]{6,18}$", str_replace(' ','',$_POST['phone'])) {}
  3. ?>
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.