Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nieprawidłowa Wartość zmienej
Forum PHP.pl > Forum > PHP
Spirit86
Witam, mam następujący problem, mam pewną zmieną, która powina zawierać TYLKO litery A-Z, a-z oraz cyfry 0-9. I chcąc sprawdzić czy ta zmiena zawiera tylko te zmiene piszę następującą konstrukcję:

  1. <?php
  2. echo (!ereg (&#092;"[0-9A-Za-z_]\", $jakistamstring)) ? 'OK' : 'Błąd, zmiena może zawierać, bla bla bla'; 
  3. ?>

Niestety, nawet gdy wpiszę wyrażenie typu AS1@$!@#$!@#%!25, wtedy php przepuszcza mi taką zmieną.
rogrog
ogranicz wyrażenie za pomocą ^ i $
Spirit86
niestety zawsze miałem problem z tymi wyrażeniami, nawet ich w manualu nie mogę znaleźć, cz mógłbyś to trochę bardziej łopatologicznie napisać, np z przykładem kodu smile.gif?
Yarecki
  1. <?php
  2.  
  3. echo (!ereg (&#092;"^[0-9A-Za-z_]+$\", $jakistamstring)) ? 'OK' : 'Błąd, zmiena może zawierać, bla bla bla';
  4.  
  5. ?>
rogrog
Cytat(Spirit86 @ 2004-10-01 20:10:21)
niestety zawsze miałem problem z tymi wyrażeniami

ja też smile.gif
Spirit86
@ Yarecki: niestety system w dalszym ciągu przpuszcza zmiene o wartości typu: "%!@$#%@#$AX".
@ rogrog: bo tego nawet w maunalu nie mogę znaleźć sadsmiley02.gif
MoD
  1. <?php
  2.  
  3. echo ( eregi( &#092;"^[0-9a-z_]+$\", $jakistamstring ) ? 'OK' : 'Błąd, zmiena może zawierać, bla bla bla' );
  4.  
  5. ?>

Działa napewno bo sprawdzałem na localu.
FiDO
A po co tutaj zaprzegac wyrazenia regularne.. Mozna szybciej i latwiej: ctype_alnum" title="Zobacz w manualu PHP" target="_manual
Spirit86
@Fido: dobry pomysł, thx :-)
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.