Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][Java] Pole input z maską
redelek
post 31.03.2014, 10:09:07
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
Daimos
post 31.03.2014, 10:58:20
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Plugin dobry, "a" odpowiada jednej literce, więc albo wstaw tyle "a" ile potrzebujesz maks znaków, albo sprawdź czy zadziała np. a+


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
b4rt3kk
post 31.03.2014, 12:08:07
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


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. });


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
redelek
post 31.03.2014, 12:51:31
Post #4





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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

Ten post edytował redelek 31.03.2014, 12:52:40


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
PrinceOfPersia
post 31.03.2014, 19:09:31
Post #5





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


tylko sprawdzaj to również po stronie serwera....


--------------------
Go to the top of the page
+Quote Post
trueblue
post 31.03.2014, 19:13:37
Post #6





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

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


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.


--------------------
Go to the top of the page
+Quote Post
php__amator
post 2.04.2014, 00:25:50
Post #7





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


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


Go to the top of the page
+Quote Post
trueblue
post 2.04.2014, 07:25:32
Post #8





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

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


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.


--------------------
Go to the top of the page
+Quote Post
redelek
post 2.04.2014, 10:09:57
Post #9





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
php__amator
post 2.04.2014, 23:25:01
Post #10





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


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

Ten post edytował phpamator 2.04.2014, 11:47:32
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: 20.05.2025 - 04:13