Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Walidacja, sprawdzenie czy imię i nazwisko
Forum PHP.pl > Forum > Przedszkole
Malinaa
Mam pytanko,

jak sprawdzić w javascript czy pole zawiera imię i nazwisko.
tehaha
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
kamil4u
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.
darko
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>
kalmaceta
@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.
Malinaa
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ć?
kamil4u
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ę.
Malinaa
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.
tehaha
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
Malinaa
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.
tehaha
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
Malinaa
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.
mieszkos
[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>
Malinaa
mieszkos:
nie skorzystam, w relacji z tehaha uznałem, że nie o to chodzi, ale thanks.
Powodzenia.
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.