Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Regex - iba cisla a desatinna bodka

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok NapísalOffline : 23.04.2019 13:44

Mam input field, kde potrebujem, aby mi pocas pisania validovalo value - aby uzivatel mohol pisat IBA cisla a desatinnu bodku. Problem je, ze to nemozem z istych dovodov spravit ako pattern, ani dat input field type na number a pod, takze to musim riesit v backende (je to cez Aurelia decorator, ale to je teraz nepodstatne).

Tu validaciu som spravil takto:

Kód:
export class PositivenumberValueConverter {
  toView(number) {
    
     if(!number || typeof number == "number" ){return number;}
    
     else{
         let clean_number = number.replace(/[^0-9.]/g, ""); //allow numbers and decimal point
        if( clean_number ){return clean_number;}
        
        else {return '';}
     }
         
  }
}


Toto sice funguje dobre, okrem cisel a desatinnych cisiel nepovoli nic, ale...

zistil som, ze ak po sebe zadam 2 rovnake znaky alebo pismena (napr. gg, hh, --), tak po kazdom druhom stlaceni jedno pismeno zobrazi.

Cize na klavesnici napisem napr: 52.35gg, tak v input fielde mi zobrazi 52.35g (zostane tam 1x to pismeno g). Po dalsom stlaceni 'g' odtial zmizne a po dalsom sa zas objavi a tak sa to strieda.

Robi to IBA vtedy, ked pisem rovnake znaky za sebou. Ak pisem rozne znaky po sebe abcdef... tak nedovoli napisat ani jedno, cize nezobrazi ziadne pismeno, tak ako ma byt.

Uz neviem ako vyriesit tuto haluz...


Offline

Skúsený užívateľ
Skúsený užívateľ
Regex - iba cisla a desatinna bodka

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 23.04.2019 13:51

Validujes to po kazdom stlaceni tlacidla asynchronne? Kazdy dalsi znak, alebo cely obsah input fieldu?







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Regex - iba cisla a desatinna bodka

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 23.04.2019 13:58

v podstate tam posiela cely obsah, po kazdej zmene. Sranda je, ak tie prazdne uvodzovky v regexe nahradim nejakym znakom, napr.

Kód:
let clean_number = number.replace(/[^0-9.\-]/g, 'X');


tak potom kazde pismeno nahradi za ten znak (logicky), cize aj ked zadam gg, tak to nahradi za XX. Nechapem, ked tam nedam nic, preco kazde druhe zobrazi, ked to ma nahradit za 'nic'.


Offline

Skúsený užívateľ
Skúsený užívateľ
Regex - iba cisla a desatinna bodka

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 23.04.2019 14:14

Je jedno ako rychlo stacis tie 2 pismenka po sebe?







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 23.04.2019 14:19

nech sa akokolvek snazim tak ten tvoj regex nedovoli do inputu napisat to co popisujes.. chyba bude asi niekde inde.
https://codepen.io/anon/pen/ROYxZL?editors=1010#0

potrebujes tam tie podmienky pred regexom? ked mas input type text tak vsetko co ti z neho tecie je string, tak naco kontrolovat ci to je number? nechal by som tam len ten event listener s regexom


Offline

Užívateľ
Užívateľ
Regex - iba cisla a desatinna bodka

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 23.04.2019 15:30

to som uz skusal, prvotne dava typeof number, a po zmene je to uz string. Jedine riesenie co zatial pomohlo, je ze som dal vratit parseFloat (clean_number); Vtedy neberie ziadne znaky, ani tie duplicitne. Problem je ale potom, ze ani bodku, co potrebujem.

@void: je jedno ako rychlo stlacim po sebe. Hoci aj 5 minut po sebe, ale iba po rovnakych pismenach


Offline

Skúsený užívateľ
Skúsený užívateľ
Regex - iba cisla a desatinna bodka

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 23.04.2019 15:34

Tak si skus spravit nejaky interny logging, pri kazdom volani funkcie a vstup/vystup.
Mozno sa to nevola vzdy, ked by malo.







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Regex - iba cisla a desatinna bodka

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 23.04.2019 15:46

vola to stale, to som uz debugoval, vysledna hodnota je vzdy spravna, napriek tomu tam zostava to jedno pismeno, kym sa opat nestlaci to iste alebo nieco ine. Pri roznych pismenach to nerobi, iba pri rovnakych. Preco by pri rovnakych po sebe nieco inak fungovalo ako pri abcdef


Offline

Skúsený užívateľ
Skúsený užívateľ
Regex - iba cisla a desatinna bodka

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 23.04.2019 16:20

No, vies ako, neviem ako presne je implementovane to s cim pracujes ale normalne zvykne byt napriklad search input osetreny proti spamovaniu backendu opakovanym search-om, aby sa predislo spamu na backend poziadavkami. Cize sa tam zvykne pridavat nejaky casovy constraint, aby si to nepytalo request kazdy sekundu ale kazdych niekolko sekund. Myslel by som si (mozno dost nespravne) ze toto ej vysledok nejakeho podobneho (alebo vadneho) osetrenia pred podobnym problemom.







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Regex - iba cisla a desatinna bodka

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 24.04.2019 10:28

no to by davalo logiku, keby to robilo len ked tie pismena zadam rychlo po sebe. Ale zadam 'g' a hoci aj po hodine zadam druhe 'g' a uz ho zobrazi, kym ho nezadam treti raz. Ale vsetko nasvedcuje tomu, ze to nebude tym regexom samotnym, ale ako pisete niecim inym naviazanym na ten input.


Odpovedať na tému [ Príspevkov: 10 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. regexp - iba cisla a line break

v JavaScript, VBScript, Ajax

2

290

22.04.2012 10:43

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Asm : spočítanie slov ktoré obsahujú IBA čísla

v Assembler, C, C++, Pascal, Java

2

618

23.03.2010 15:55

crazy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. regex

v PHP, ASP

2

313

08.02.2015 23:24

esso82 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Regex ?

v PHP, ASP

0

372

12.07.2012 9:34

d0.0b Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Bodka

v Bezpečnosť a firewally

2

366

12.09.2014 16:11

erik518 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Regex replace

v Ostatné

5

382

02.07.2021 14:53

MTK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MySQL REGEX

v Databázy

2

368

20.06.2013 16:16

Punker661 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. regex a diakritika

v PHP, ASP

10

2765

08.03.2010 20:05

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. namiesto ciarky bodka

v JavaScript, VBScript, Ajax

3

576

29.06.2011 20:05

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Definitívna bodka za Xboxom

v Novinky

1

536

10.02.2010 13:21

f_fabregas4 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc s regex-om

v PHP, ASP

1

239

13.04.2013 9:10

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. menu - pri hoveru podivna bodka

v HTML, XHTML, XML, CSS

14

750

02.05.2008 16:19

B.A.X.O Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. V input text stale bodka

v JavaScript, VBScript, Ajax

2

364

11.06.2010 23:45

jtomcik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Malá bodka kazí celý layout

v HTML, XHTML, XML, CSS

6

618

20.03.2008 12:41

ma®tin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zväčšiť pamäť iPhonu zo 16 na 128GB iba za 55€ ? Žiaden problém .. ale iba v Číne

v Novinky

11

1482

15.02.2016 15:06

liqua1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zistenie majiteľa tel. čísla (potrebujem zistiť majitela tel. čísla)

v Ostatné

4

3335

02.11.2011 13:52

HGDS1 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra