![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 14.08.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Napisałem coś takiego:
Wyrażenie działa poprawnie jak wpisuje sie numrey tel a takich formatach: 000-00-00 lub 000-000-000 Chciałbym do tego wszystkiego dodać numer kierunkowy, czyli np: +XX\s lecz gdy próbuje to robię wyrażenie zwraca błąd. ![]() Z góry dziękuje za pomoc -------------------- ”Jestem nędzarzem, mam tylko marzenia.
Rozsyłam je u twych stóp, Stąpaj lekko, gdyż stąpasz po mych marzeniach„ |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 2 Dołączył: 14.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
+ chyba musi być escapowany, spróbuj:
Kod ^\+[0-9]{2}\s[0-9]{3}-[0-9]{2,3}-[0-9]{2,3}$ PS ereg() jest przestarzała - http://pl.php.net/manual/en/function.ereg.php |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 14.08.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Hmm to jakiej funkcji używać.?
przerobiłem kod na:
wstawilem preg_match() w formularzy wpisywałem: +23 324-343-434 i +99 234-12-12 funkcja nadal zwraca błąd Ten post edytował korey 28.02.2010, 13:50:58 -------------------- ”Jestem nędzarzem, mam tylko marzenia.
Rozsyłam je u twych stóp, Stąpaj lekko, gdyż stąpasz po mych marzeniach„ |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 2 Dołączył: 14.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
preg_match ma inne ograniczniki(?) - nie wiem jak to nazwać
![]() Zobacz Kod else if(!preg_match('/\+[0-9]{2}\s[0-9]{3}-[0-9]{2,3}-[0-9]{2,3}/' , $tel )){
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 14.08.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
użyłem twojego kodu i nic.
usunąłem trim() i nic. dodałem ^ i $ przed / i nic dodałem ^ i $ po / i nic ![]() nie ma jakiegoś innego sposobu na walidiacje numeru tel.? -------------------- ”Jestem nędzarzem, mam tylko marzenia.
Rozsyłam je u twych stóp, Stąpaj lekko, gdyż stąpasz po mych marzeniach„ |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 2 Dołączył: 14.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nawet nie patrzyłem na przykłady innych, po prostu ułożyłem nowe:
Ten post edytował pyro 28.02.2010, 14:56:33 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 14.08.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nawet nie patrzyłem na przykłady innych, po prostu ułożyłem nowe:
Kod działa poprawnie ale gdy np podaje taki numer: +3323 234-234-234 zwraca mi OK. da sie to jakoś ulepszyć.? teraz tak wygląda kod:
-------------------- ”Jestem nędzarzem, mam tylko marzenia.
Rozsyłam je u twych stóp, Stąpaj lekko, gdyż stąpasz po mych marzeniach„ |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Po pierwsze czy ktoś zwrócił uwagę na fakt, że + jest znakiem specjalnym wyrażeń i nie może być wstawiany ot tak sobie, gdyż oznacza, że poprzedzany element musi wystąpić przynajmniej jeden raz? Inna sprawa, że nawet gdy to poprawisz to nie uwzględniasz, że brak kierunkowego znowu wywali błąd. Ta część ma być opcjonalna, więc bez użycia ? się nie obejdzie.
EDIT: Chyba mi się na oczy już rzuciło dziś, albo za długo siedzę przy kompie, ale nie zauważyłem Twojego i późniejszego. Opisywałem wcześniejsze z postem TNT włącznie. Moja wina i kajam się za błąd z warunkowym kierunkowym. Zastanawiam się, czy aby nie lepszym byłoby ewentualne "chwilowe" usunięcie kierunkowego, czyli +XX i pozbawienie ciągu wszelkich znaków innych niż cyfry bo przecież minus lub spacja mogą wystąpić niekoniecznie w podanych miejscach. Normą jest podawanie numerów nie tylko trójkami, ale także parami, a więc także w postaci: +48 503 50 09 99. Może użyć filter_var i zrobić "satanizację"? ![]() Ten post edytował thek 2.03.2010, 17:04:36 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze czy ktoś zwrócił uwagę na fakt, że + jest znakiem specjalnym wyrażeń i nie może być wstawiany ot tak sobie, gdyż oznacza, że poprzedzany element musi wystąpić przynajmniej jeden raz? Inna sprawa, że nawet gdy to poprawisz to nie uwzględniasz, że brak kierunkowego znowu wywali błąd. Ta część ma być opcjonalna, więc bez użycia ? się nie obejdzie. Czytałeś w ogóle to wyrażenie regularne? I jedno i drugie zostało uwzględnione. @korey, zobacz to: Ten post edytował pyro 2.03.2010, 16:31:59 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Proszę wyrażenie + przykład:
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 14.08.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Noo.
Użyłem wyrażenia od fifi209 sprawdziłem numery na różne sposoby i tym razem wszystko jest dobrze. Dziękuje wam wszystkim. ale skoro jesteśmy już w temacie wyrażeń to da sie jakoś przerobić to: Tak by akceptowało adres w postaci "www.strona strony ze uwzględnionymi znakami - _ (i innymi używanymi w adresie). pl,com" itp
Bo w tym przykładzie działa tylko tak: http://www.strona.pl/ albo http://www.strona.com/ itp. prościej mówiąc chce usunąć http:// i / na koncu Ten post edytował korey 3.03.2010, 08:30:16 -------------------- ”Jestem nędzarzem, mam tylko marzenia.
Rozsyłam je u twych stóp, Stąpaj lekko, gdyż stąpasz po mych marzeniach„ |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Może to tylko mój pomysł, ale połącz walidację z poprawianiem
![]() Ten post edytował thek 3.03.2010, 08:58:18 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 14.08.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Yyyy.. nie rozumiem. ze niby jak?
-------------------- ”Jestem nędzarzem, mam tylko marzenia.
Rozsyłam je u twych stóp, Stąpaj lekko, gdyż stąpasz po mych marzeniach„ |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
FILTER_SANITIZE_URL usuwa wszystkie snaki, które nie mogą pojawić się w URL. Według specyfikacji zostawia jedynie liczby, cyfry oraz znaki $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=. a reszta wylatuje. Teraz jedynie sprawdzamy czy ma "z przodu" protokół jakikolwiek jeśli go brak, doklejamy http:// a potem jeszcze walidacja z użyciem FILTER_VALIDATE_URL. Wiem, że można od razu preg_match walnąć, ale jakoś mam większe zaufanie dla wbudowanych reguł filtrujących niż pisanie wyrażenia "z głowy" i preferuję zdać się podczas walidacji na pewne funkcje. Jedyne co trzeba jeszcze sprawdzić to czy da się przepchnąć adres ip zamiast domeny
![]() EDIT: Żeby nie było. Adres podany przeze mnie jest czysto przypadkowy i nie prowadzi nigdzie. To ślepa uliczka mająca jedynie na celu zaprezentowanie wariantu z możliwą sytuacją walidacji IP zamiast domeny ![]() Ten post edytował thek 3.03.2010, 13:28:58 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 14.08.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Napisałem coś takiego:
Po wysłaniu formularza mam taki komunikat: Fatal error: Call to undefined function: filter_var() in C:\Program Files\WebServ\httpd-users\Szkolne_Kola\administrator\add_szkola.php on line 138 Nie mam pojęcia czemu ![]() Ten post edytował korey 6.03.2010, 13:15:40 -------------------- ”Jestem nędzarzem, mam tylko marzenia.
Rozsyłam je u twych stóp, Stąpaj lekko, gdyż stąpasz po mych marzeniach„ |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 6.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Musisz posiadać na serwerze wersję PHP 5.2.0, lub wyższą. Sprawdź używając funkcji phpinfo().
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Napisałem coś takiego: Po wysłaniu formularza mam taki komunikat: Fatal error: Call to undefined function: filter_var() in C:\Program Files\WebServ\httpd-users\Szkolne_Kola\administrator\add_szkola.php on line 138 Nie mam pojęcia czemu ![]() Może masz starą wersję php? http://pl.php.net/filter_var sprawdź jaką masz wersje korzystając z phpinfo(); -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 122 Pomógł: 2 Dołączył: 14.08.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
no macie racje.. ;/ To moze mógłby mo ktoś powiedzieć jak zaktualizować php w programie WebServ 1.3.?
Albo ewentualnie zmienić serwer na którym mógłbym te stronkę testować..? -------------------- ”Jestem nędzarzem, mam tylko marzenia.
Rozsyłam je u twych stóp, Stąpaj lekko, gdyż stąpasz po mych marzeniach„ |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 6.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ściągnij najnowszą wersję PHP z oficjalnej strony i podmień pliki, albo zmień WebServ na WAMP, albo XAMPP.
Ten post edytował tr0lit 6.03.2010, 20:35:32 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:06 |