Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Walidacja, sprawdzenie czy imię i nazwisko
Malinaa
post 27.01.2011, 20:26:57
Post #1





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


Mam pytanko,

jak sprawdzić w javascript czy pole zawiera imię i nazwisko.


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post
tehaha
post 27.01.2011, 20:31:31
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


przypisujesz funkcje do zdarzenia onsubmit w formularzu, następnie w wewnątrz funkcji pobierasz wartości z pól imię i nazwisko i sprawdzasz czy są puste, jeżeli tak to wyświetlasz komunikat i zwracasz false
Go to the top of the page
+Quote Post
kamil4u
post 27.01.2011, 20:32:45
Post #3





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Za pomocą wyrażeń regularnych. Polecam: http://www.egrafik.pl/kurs-regex-wyrazenia-regularne/
Spr. czy ciąg zawiera:
- wyraz([A-Za-z]+)
- spacja( )
- wyraz([A-Za-z]+)

Lub ew. bardziej dokładnie -> wyraz ([A-Z][a-z]+)

Gdzie nawiasy ( i ) nie należą w tym przypadku do wyrażenia.


--------------------
Go to the top of the page
+Quote Post
darko
post 27.01.2011, 20:35:34
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Nie sprawdzisz czy podane dane to konkretne imię i nazwisko, ale za to można sprawdzić czy pole o określonym id ma wpisaną wartość, najlepiej wrzucić kod sprawdzający do jakiejś funkcji i podczepić ją pod zdarzenie onsubmit formularza (ale tym zajmij się już sam/a):

<input type="text" id="imie" name="imie" />
...
<script>
if(document.getElementById('imie').value == '' || document.getElementById('imie').value='undefined')
alert('prosze podac imie');
</script>


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
kalmaceta
post 27.01.2011, 20:48:39
Post #5





Grupa: Zarejestrowani
Postów: 183
Pomógł: 24
Dołączył: 4.12.2010

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


@kamil4u: wyrażenia regularne to za dużo jak na imię i nazwisko, poza tym podane przez Ciebie dozwolone znaki nie uwzględniają znaków narodowych (należy uwzględnić przynajmniej zakres _\x81-\xFF) przy utf-8,już nie mówiąc o dwuczłonowych ze spacją czy też "-".

najlepsze jednak jest proste rozwiązanie podane przez darko.


--------------------
kAlmAcetA
Go to the top of the page
+Quote Post
Malinaa
post 27.01.2011, 21:40:04
Post #6





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


do tego co już jest wystarczy mi sprawdzenie
schematu typu: ciagznakow-spacja-ciagznakow
A jeżeli można sprwdzić czy pierwsza litera imienia i nazwiska jest duża to już bajka.
W formularzu jest tylko jedno pole uzytkownik, w które powinno być wpisane imię i nazwisko.
Jak to zrobić?

Ten post edytował Malinaa 27.01.2011, 21:40:58


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post
kamil4u
post 27.01.2011, 23:06:51
Post #7





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Podałem jak to zrobić, a ~kalmaceta napisał co w poprawić. Aczkolwiek po jego uwadze zrobiłbym to jeszcze inaczej, a mianowicie spr. czy te znaki to nie liczby czy znaki specjalne i wtedy wszystko powinno być ok smile.gif

@kalmaceta: jakoś tak się spieszyłem i nie wpadłem na to, że mogą być też inne znaki. Dzięki za poprawkę.


--------------------
Go to the top of the page
+Quote Post
Malinaa
post 28.01.2011, 22:10:01
Post #8





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


Czy można gotowca?

$uzytkownik = "Terezia Fickova"; // Hello

Sprawdzenie spacji ok
if (preg_match("/[ ]/", $uzytkownik)) echo "OK";
ale jak imię i nazwisko, najlepiej z wielkiej litery
w php i javascript.


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post
tehaha
post 28.01.2011, 22:14:58
Post #9





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


no bez przesady, w Google pełno gotowców więc nie ma potrzeby, żeby ktoś specjalnie dla Ciebie robił dedykowanego: http://www.w3schools.com/js/js_form_validation.asp, http://www.javascript-coder.com/html-form/...alidation.phtml
Go to the top of the page
+Quote Post
Malinaa
post 28.01.2011, 22:31:37
Post #10





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


no dobra.

Sprawdzenie typu if (x==null || x=="") nie jest mi potrzebne,
formularz jest zbudowany inaczej, robię to z if (x.length > 1) i nie ma to formy alertu tylko info w divie,
po prostu nie bardzo wiem jak sprwdzić imię i nazwisko z wielkiej litery tym bardziej, że imie albo nazwisko może być z polskimi znakami np. Świdator.


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post
tehaha
post 28.01.2011, 22:48:46
Post #11





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


a po co wymuszać wpisywanie z wielkiej litery? Lepiej zrób tak, żeby to php konwertowało pierwsze litery na wielkie: http://php.net/manual/en/function.ucfirst.php
Go to the top of the page
+Quote Post
Malinaa
post 28.01.2011, 23:15:32
Post #12





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


dobry pomysł,
ale to trochę jak budowanie formularza "szczególnie" odpornego.
zrezygnuję w ogóle z tego, wstwię w diva "Imię i nazwisko musi być oddzielone spacją i powinno zaczynać się z wielkiej litery."
Może w ten sposób wszyscy użytkownicy będą przedstawiać się po polsku, imię i nazwisko z wielkiej litery.

Dziękuje za informacje.

Ten post edytował Malinaa 28.01.2011, 23:17:11


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post
mieszkos
post 28.01.2011, 23:35:07
Post #13





Grupa: Zarejestrowani
Postów: 78
Pomógł: 11
Dołączył: 1.04.2009

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


[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. window.onload = Laduj;
  3. function Laduj(){
  4. document.forms['dodawanie_posta'].onsubmit = Verify;
  5. }
  6. function Verify(){
  7. var wyrazenie2 = new RegExp("^[A-Z-zóąśłżźćńÓĄŚŁŻŹĆŃ][a-z-zóąśłżźćńÓĄŚŁŻŹĆŃ]{2,20} [A-Z-zóąśłżźćńÓĄŚŁŻŹĆŃ][a-z-zóąśłżźćńÓĄŚŁŻŹĆŃ]{1,25}$");
  8. var error = false;
  9.  
  10. if(wyrazenie2.test(im)==false) {
  11. document.forms['dodawanie_posta'].im.style.border = "2px solid #FF0000";
  12. alert('Podałeś błędne imię i nazwisko !');
  13. error = true;
  14.  
  15. }
  16.  
  17. if(wyrazenie2.test(im)==true) {
  18. document.forms['dodawanie_posta'].im.style.border = "2px solid green";
  19.  
  20.  
  21. }
  22.  
  23.  
  24. if (error) {
  25. return false;
  26. }
  27.  
  28. }
  29.  
  30. </script>
[JAVASCRIPT] pobierz, plaintext


jutro studniówka, to dlatego

do tego form:

  1. <form action="#" method="post" name="dodawanie_posta">
  2. <input type="text" name="im" />
  3. <input type="submit" />
  4. </form>


Ten post edytował mieszkos 28.01.2011, 23:40:45
Go to the top of the page
+Quote Post
Malinaa
post 29.01.2011, 00:20:19
Post #14





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


mieszkos:
nie skorzystam, w relacji z tehaha uznałem, że nie o to chodzi, ale thanks.
Powodzenia.


--------------------
I welcome you on the Internet >>> Design by Malina
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: 28.05.2025 - 05:09