Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Filtrowanie inputa do formatu liczby z jednym miejscem po przecinku
trifek
post 31.07.2020, 17:28:30
Post #1





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 28.09.2015

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


Witam serdecznie,
Na stronie mam 5 inputów.

Chciałbym aby była możliwość wpisania w nich:
1. liczb tylko z jedną kropką i jednym miejscem po przecinku (np. 12.1)
2. liczby przed przecinkiem mogą składać się z max 4 cyfr

Zrobiłem taki kod:
  1. function validateNumber() {
  2. var clean = this.value.replace(/[^0-9.]/g, "").replace(/(\.)\.{2,}/g, "$1").replace(/(.\d)\d+?/, "$1");
  3. if (clean !== this.value)
  4. this.value = clean;
  5. }
  6.  
  7. document.querySelector('.number-mask').addEventListener('input', validateNumber);
  8.  



Jednak nie do końca działa sad.gif Mogę wpisać więcej liczb po przecinku i nie wiem jak założyć "blokadę" na liczby przed przecinkiem

Wie ktoś może jak to zrobić? Bardzo proszę o pomoc smile.gif
Go to the top of the page
+Quote Post
kayman
post 31.07.2020, 19:00:05
Post #2





Grupa: Zarejestrowani
Postów: 546
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

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


https://www.w3schools.com/tags/att_input_pattern.asp
Go to the top of the page
+Quote Post
trifek
post 31.07.2020, 19:59:36
Post #3





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 28.09.2015

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


to niestety nie działa (Mac FireFox / Safari).
Wolałbym dopracować tego mojego JSa smile.gif
Go to the top of the page
+Quote Post
trueblue
post 31.07.2020, 21:09:37
Post #4





Grupa: Zarejestrowani
Postów: 5 909
Pomógł: 1614
Dołączył: 11.03.2014

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


Do tego w ogóle nie trzeba wyrażenia regularnego.
Przejrzyj jakie są typy pól input.


--------------------
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: 7.08.2020 - 13:41