owned
25.08.2009, 13:58:56
Witam
Jak za pomocą funkcji preg_match sprawdzić czy string $zmienna zawiera:
Liczby 0-9
Znaki ~!@#$%^&*()-=+.... itp;
Prosiłbym o pomoc bo nigdy nie bawiłem się preg_match
erix
25.08.2009, 16:47:38
To może najpierw zobacz, na czym to polega...?
owned
25.08.2009, 17:27:51
chodzi mi o ułożenie regexp
Pawel_W
25.08.2009, 17:32:56
owned
25.08.2009, 17:47:28
trochę kiepsko jest to tam wyjaśnione. Będę o tym jeszcze czytał. Czy teraz nie mógłby mi ktoś napisać gotowca ? Chyba nie jest aż tak skomplikowany.
Pawel_W
25.08.2009, 17:50:38
masz tam napisane, klasy znaków...
takie trudne?
$dane = 'jakis_tekst';
$pattern = '/[0-9\@\(\)]/';
w $pattern masz tylko parę znaków dla przykładu, nie wiem dokładnie przed którymi wstawia się \, więc musisz popróbować
Fifi209
25.08.2009, 18:00:50
@pawel
Przed tymi, które są zarezerwowane

@topic
http://wyrazenia-regularne.pl/Ludzie chwalili tą stronę, więc i Tobie daję.
owned
25.08.2009, 18:02:39
no ok fifi biore się za lekturę. Zastanawiałem się jeszcze nad tym:
Zrobić tablicę z 1-9 i znakami specjalnymi.
Rozbić string w którym chcę szukać również na tablicę i porównać obie. Co Wy na to ?
Fifi209
25.08.2009, 18:05:44
Nie wiem po co, skoro masz wyrażenia regularne. A iterowanie po wszystkich elementach n razy nie będzie dobrym pomysłem.
gdzie n to długość stringu do sprawdzenia
owned
25.08.2009, 19:57:43
ale znaki specjalne dalej nie wiem jak sprawdzić... mam na myśli
~!@#$%^&*() itp
preg_match('/[0-9~!@#$%^&*()_+-={}|;:"<>,.?]/',$zmienna)
co jednak z ' [ ', ' ] ', ' \ ', ' ' ', ' " ', ' / ' ?
sweter
25.08.2009, 20:11:21
Cytat
Jak za pomocą funkcji preg_match sprawdzić czy string $zmienna zawiera:
Liczby 0-9
Znaki ~!@#$%^&*()-=+.
Może interesują Cię wszystkie znaki oprócz liter?
owned
25.08.2009, 20:36:30
Chcę validować formularz pod kątem cyfr i znaków specjalnych. Jeżeli będzie on takowe zawierał to ma wypluć błąd i tyle.
ok dałem radę
function valid_tylko_litery($atrybut){
if(preg_match("/[^A-Za-z]/", $atrybut)){
return TRUE;
}else {
return FALSE;
}
}
Fifi209
26.08.2009, 15:57:00
To masz złe wyrażenie...
/[^A-Za-z]/
Oznacza, że nie może być tego ;p
Bardziej:
#^[a-z]+$#i
erix
26.08.2009, 16:28:52
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.