Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Walidacja formularzy
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
bonio89
Witam!
Piszę właśnie ankietę przeznaczoną dla młodzieży i chciałbym aby w polu miasto itp nie było wulgaryzmów.
zastanawiam się jak zadeklarować zmienną aby można było porównywać z nią tekst formularza.

Chciałbym aby to było mniej więcej w ten sposób:
  1. var qwe=tutaj lista wulgaryzmów;
  2.  
  3. if (!f.miasto.value.match(qwe))
  4. bledy += 'Musisz wpisać miasto!\n';
kamil4u
Najłatwiej zrobić pętlę po wszystkich elementach z tablicy wulgaryzmów i zastosować indexOf ew. wyrażenie regularne.
skowron-line
@kamil4u trochę dużo kombinacji by było.
http://forum.php.pl/index.php?showtopic=10...mp;#entry525800
kamil4u
@skowron-line: chyba się nie zrozumieliśmy, albo ja Ciebie smile.gif . To co podałeś jest dokładnie to o czym myślałem, tylko zamiast search można użyć indexOf(no i w tablicy byłyby zwykłe stringi(głupio brzmi smile.gif )), a samo search, jest właśnie jedną z funkcji korzystająca z wyrażeń regularnych(w tym przypadku są one banalne)[czyli część mojej poprzedniej wypowiedzi: ew. wyrażenie regularne ]
skowron-line
@kamil4u teraz chyba ja nie rozumiem chcesz każde przekleństwo osobno do tablicy wsadzać questionmark.gif i wszystkie odmiany i wariację questionmark.gif
kamil4u
W kodzie do którego podałeś link też musisz podać przekleństwa...
Bez jakieś bazy przekleństw, czy to w formie tablicy czy nie, nie da się tego poprawnie zrobić. Możesz spr. np. tylko tematy danego słowa, ale czasami to ogranicza użytkownika.
skowron-line
Tablica wyrażeń regularnych pasujących do danego przekleństwa, jest sporo wariacji danego wyrazu dla przykładu
podstawa
kurw
-a
-wisko
-ewskie
i pewnie inne jakich nie znam

Ale może mówimy o tym samym tylko nie możemy się zrozumieć.
kamil4u
Cytat
Ale może mówimy o tym samym tylko nie możemy się zrozumieć.

Prawdopodobnie tak jest smile.gif

Nie da się w 100% ograniczyć przeklinania na stronie korzystając ze skryptu zaczynając od: kurrwa, a kończąc: na ku*wa. Żadnym wyrażeniem regularnym tego nie załatwisz. A jak im bardziej będziesz ingerował w tego typu zachowania prze skrypt, tym więcej osób się zdenerwuje(gdy nie będą mogli napisać jakiegoś słowa, bo skrypt uzna, ze jest to przekleństwo ), tak więc jednym rozsądnym rozwiązaniem jest moderacja przez moderatorów,a taki skrypt mógłby istnieć tylko z powiązaniem ze stałą tablicą przekleństw(bez wyrażeń regularnych )

Jeśli mimo to chciałoby się wykonać taki skrypt, który blokował by większość poprawnie napisanych przekleństw, zrobił bym 2-wymiarową tablicę, gdzie był by zapisany temat i odpowiednie końcówki do danego słowa. Najpierw byśmy szukali tematu, a potem w razie spr końcówki(zaoszczędzi to czas, gdybyśmy od razu spr wszystkie słowa z końcówkami). Mogło by to wyeliminować pomyłki ze strony skryptu, jednak nie ma takiego użytkownika co by sobie z takimi zabezpieczeniami nie poradził.
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.