Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]formularz, imie i polskie znaki
!*!
post 8.09.2008, 17:51:36
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Chciałbym sprawić czy pole imie ma od 2 do 20 znaków, bez spacjii

  1. <?php
  2. if(strlen($imie)<3 or strlen($imie)>20 or !eregi("^[a-zA-Z_]+$",$imie)){}
  3. ?>


Jendak nie wiem jak dodać możliwość użycia polskich liter... Tak aby nie było niespodzianek przy wpisaniu "Łucja, Staś, Łukasz" itp.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
wookieb
post 8.09.2008, 17:57:14
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Kod
if(preg_match(/[a-zA-Z_]+/, $imie))


--------------------
Go to the top of the page
+Quote Post
!*!
post 8.09.2008, 18:15:04
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


wookieb - Twój przykład pozwala tylko na wpisanie liczb... zmieniłem to na:

Kod
if(strlen($imie)<3 or strlen($imie)>20 or !preg_match("/[a-zA-Z]+/",$imie)){


ale mogę wpisać nadal coś ze spacją i kropką


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
wookieb
post 8.09.2008, 19:16:21
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Racja
Kod
if(strlen($imie)<3 or strlen($imie)>20 or !preg_match("/^[a-zA-Z]+$/",$imie)){


--------------------
Go to the top of the page
+Quote Post
!*!
post 8.09.2008, 19:36:32
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


heh podobnie miałem na początku... polskie znaki są ignorowane, a co za tym idzie... kurde nie ma czegoś w php do walidacjii IMIENIA? biggrin.gif


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
webdice
post 8.09.2008, 19:40:33
Post #6


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Kod
[a-zA-Z_ąĄ]+


Resztę dopisz sobie sam, poza tym nie używaj eregi" title="Zobacz w manualu PHP" target="_manual tylko preg_match" title="Zobacz w manualu PHP" target="_manual.
Go to the top of the page
+Quote Post
!*!
post 9.09.2008, 00:11:16
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


A jak zamienić pierwszą literę na dużą a resztę małe? Tak jak powinno być zapisane imie, uwzględniając Ł,Ż,Śitp.

Kod
function strtolower_pl($inimie)
{
return strtr(ucfirst(strtolower($inimie)), '[ąćęłńóśźż]', '[ĄĆĘŁŃÓŚŹŻ]');
}

$inimie = trim(stripslashes(ucfirst(strtolower_pl($_POST['inimie']))));
$innazwisko = ucfirst(strtolower_pl($_POST['innazwisko']));


ten myk zamienia WSZYSTKIE litery na duże, choć powinien tylko pierwszą...


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
JoShiMa
post 9.09.2008, 09:36:01
Post #8





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Manual Twoim przyjacielem jest ucfirst() lub ucwords()

Ten post edytował JoShiMa 9.09.2008, 09:36:40


--------------------
Go to the top of the page
+Quote Post
!*!
post 9.09.2008, 15:44:19
Post #9





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


JoShiMa - czytałem to już i na podstawie tego jest powyzszy kod, jednak nie działa to tak jak powinno. Gdy np. wpisz łuuuudddłłłłłóóó zostatnie to zamienione na ŁuuuudddŁŁŁŁŁÓÓÓ

Ten post edytował !*! 9.09.2008, 15:45:33


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 01:52