Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][Java] Pole input z maską
Forum PHP.pl > Forum > Przedszkole
redelek
Witam,
Szukam jakiegoś gotowego rozwiązania do masek na pola input.
Mam takie trzy pola które muszę zabezpieczyć
- imie i nazwisko ( tylko literki, żadnych cyfr i innych specjalnych znaków no max 2 spacje )
- adres email ( przynajmniej żeby małpę sprawdzał )
- mac address komputera ( XX:XX:XX:XX:XX:XX, w windows zamiast : są myślniki, i jeśli ktoś zrobi wklej to ma zamienić na dwukropki : )
- adres IP ( XXX.XXX.XXX.XXX tylko cyfry i kropki )

Znalazłem coś takiego jak jquery mask http://digitalbush.com/projects/masked-input-plugin/, ale nie mogę sobie poradzić z przystosowaniem tego do swoich potrzeb: (
Jest napisane, że jeśli chcę tylko litery a-zA-Z mam wstawić w masce a, ale jak to robię to w polu input pojawia mi się a i mogę wpisać tylko jedną literę.

Będę bardzo zobowiązany za pomoc lub linka do jakiegoś maskowania input-a smile.gif

Dzięki
Daimos
Plugin dobry, "a" odpowiada jednej literce, więc albo wstaw tyle "a" ile potrzebujesz maks znaków, albo sprawdź czy zadziała np. a+
b4rt3kk
W JS masz taką funkcję jak match - działa identycznie jak preg_match w PHP i opiera się o wyrażenia regularne. Przykład żeby w inpucie były tylko litery:

  1. $('input').keyup(function(){
  2. var toCompare = $(this).val();
  3. var pattern = /^([a-zA-Z]+\s{0,1}[a-zA-Z]+)$/;
  4. if (toCompare.match(pattern) !== false) {
  5. //jest ok
  6. } else {
  7. //zamiana znaków innych niż w pattern
  8. }
  9. });
redelek
hmm z JS jestem cienki, dlatego chciałem jakiegoś gotowca .
Ale będę kombinował , może coś wymyślę dzięki za info
@Daimos a+ nie działa sad.gif a nie wiem jakiej długości będzie imie i nazwisko i czy nie będą dwa nazwiska, wiec wpisanie aaaaaaa aaaaaaaaaaa aaaaaaaa odpada
PrinceOfPersia
tylko sprawdzaj to również po stronie serwera....
trueblue
Cytat(redelek @ 31.03.2014, 13:51:31 ) *
a nie wiem jakiej długości będzie imie i nazwisko i czy nie będą dwa nazwiska, wiec wpisanie aaaaaaa aaaaaaaaaaa aaaaaaaa odpada

Zamiast walidacji imienia i nazwiska według wzorca proponowałbym Ci raczej walidację długości, np. minimalnie 5 znaków (Ela Ul). Jeśli będą się rejestrować obcokrajowcy to często mają 3 lub czteroczłonową godność, a może i są inne, więc wzorzec odpada.
php__amator
Właśnie wpadłem bo też szukałem jakiegoś rozwiązania na maski. Sprawdziłem więc u siebie co można z tym zrobić i:

możesz wstawić dwukropki zamiast myślników z tym nie ma problemu, w zasadzie możesz wstawić cokolwiek,
Wprowadzenie małej litery a skutkuje tym, że możesz wprowadzić jedną literkę (cyfry nie możesz)
i oczywiście jak do maski wstawisz '9' to wprowadzisz tylko cyferki.
Bardzo sympatyczne rozwiązanie muszę powiedzieć.

Jeśli nie odpowiada ci podkreślenie w masce, też możesz zmienić na dowolny (być może jakieś są wykluczone ale sprawdziłem kilka ...)

..."Optionally, if you are not satisfied with the underscore ('_') character as a placeholder,
you may pass an optional argument to the maskedinput method.

jQuery(function($){
$("#product").mask("99/99/9999",{placeholder:" "});"
$("#mac_address").mask("99:99:99:99:99:99",{placeholder:" "},{completed:function(){alert("You typed a MAC address: "+this.val());}});
Jutro pobawię się trochę, zobaczę co jeszcze można z tym zrobić smile.gif

Może się przyda.
pozdrawiam
phpamator vet jsamator

Cytat(trueblue @ 31.03.2014, 19:13:37 ) *
Zamiast walidacji imienia i nazwiska według wzorca proponowałbym Ci raczej walidację długości, np. minimalnie 5 znaków (Ela Ul). Jeśli będą się rejestrować obcokrajowcy to często mają 3 lub czteroczłonową godność, a może i są inne, więc wzorzec odpada.


Sprawdzanie długości ? A jeśli ktoś nazywa się (nie szukając obcokrajowców) Lis albo Kot ?
Walidacja długości z założeniem, że minimalna długość to 5 liter .... nie bardzo.
Osobiście znam kilka osób których nazwisko to 2 litery smile.gif

Niby banalne a jednak ....

pozdrawiam
phpamator


trueblue
Cytat(phpamator @ 2.04.2014, 01:25:50 ) *
Sprawdzanie długości ? A jeśli ktoś nazywa się (nie szukając obcokrajowców) Lis albo Kot ?
Walidacja długości z założeniem, że minimalna długość to 5 liter .... nie bardzo.
Osobiście znam kilka osób których nazwisko to 2 litery smile.gif

Z tego co napisał redelek wynika, że imię i nazwisko to jedno pole.
redelek
chodzi mi o to że w jednym polu mam imię i nazwisko, ale żeby można było wpisywać tylko A-Z a nie cyfry znaki specjalne i inne pierdoły.
MAC działają SUPER DZIĘKI, na wzór dodałem IP i też działa problem tylko z tym , że IP nie zawsze ma 3 cyfry a użytkownik wpisuje np. 192.168.2.12 i jest błąd sad.gif

Dzięki wszystkim za pomoc i staranie
php__amator
hmm faktycznie nie doczytałem o tych imionach i nazwiskach w jednym inpucie, a to taki 2 w 1. wink.gif

a jeśli zrobisz maskę "999.999.999.999" to jesli wklepują z ręki to możę poprostu dodaj jakiś opis w jakiej formie maja go wprowadzać np: wpisz ip w formacie 192.168.001.012 i po kłopocie
czytać raczej wszyscy potrafią smile.gif

Szczęściarzu, ja w dalszym ciągu nie mogę sobie poradzić z jednym problemem.
Otóż, jak pewnie się orientujesz w niektórych miejscach na świecie kod pocztowy jest nie koniecznie o stałej długości w dodatku jest np dwuczłonowy.
Zastosowanie maski ... bardzo bym chciał ... ale nie da rady albo nie doczytałem jak użyć znaku który pozwala na wprowadzenie znaku lub jego pominięcie
niby jest opcja z użyciem "?" ale w tym wypadku nie działa sad.gif
i zastanawiam się co zrobić a raczej jak to zrobić smile.gif
W przypadku gdy mam powiedzmy AA1-2BB jest spoko, jednak gdy mam AA11-2BB już pojawia się problem smile.gif
jakby ktoś miał pomysł jak to zrobić ...
Byłbym wdzięczny
facepalmxd.gif

pozdrawiam
php/js amator
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.