Mai mult
Simplă expresie regulată pentru o zecimală, cu o precizie de 2
Ceea ce este expresia regulată pentru o zecimală, cu o precizie de 2?
Valabil exemple:
123.12
2
56754
92929292929292.12
0.21
3.1
Invalid exemple:
12.1232
2.23332
e666.76
Punctul zecimal poate fi opțional, și numere întregi poate fi, de asemenea, incluse.
258
17
Valabil regex jetoane varia în funcție de punerea în aplicare. O formă generică este:
Mai compact:
Ambele presupune că ambele au cel puțin o cifră înainte și una după zecimală.
Pentru a solicita întregul șir este un număr de această formă, folie expresia în începutul și sfârșitul tag-uri, cum ar fi (în Perl's forma):
Pentru a se potrivi numere fără un lider cifre înainte de virgulă (
.12
) și numere întregi având un sfârșit de perioadă (12.
) în timp ce cu excepția intrare de o singură perioadă (.
), încercați următoarele:Adăugat
Înfășurat în partea fracțională în
()?
pentru a face opțional. Fi conștienți de faptul că aceasta exclude forme, cum ar fi12.
Inclusiv că ar fi mai mult ca^\d+\\.?\d{0,2}$
.Adăugat
Utilizarea
^\d{1,6}(\.\d{1,2})?$
pentru a opri repetarea și să dea o restricție a parte din valoarea zecimală.Și de când expresiile regulate sunt oribil de citit, cu atât mai puțin să înțeleagă, aici este detaliată în echivalent:
Puteți înlocui
[0-9]
cu\d
in cele mai multe expresie regulată implementare (inclusiv PCRE, cele mai frecvente). Am'am lăsat-o ca[0-9]
, cum cred's ușor de citit.De asemenea, aici este simplu Python script-am folosit pentru a verifica:
Pentru a include, opțional, un semn minus și de a interzice numerele de ca
015
(care pot fi confundate cu octal numerele) scrie:Pentru numerele care nu't au un separator de mii, îmi place acest joc simplu, compact regex:
sau, să nu fie limitată la o precizie de 2:
Acesta din urmă corespunde
1
100
100.
100.74
100.7
0.7
.7
.72
Și asta nu't se potrivesc șir gol (ca \d.?\d ar)
Eu il folosesc pe asta pentru până la două zecimale:
(^(\+|\-)(0|([1-9][0-9]*))(\.[0-9]{1,2})?$)|(^(0{0,1}|([1-9][0-9]*))(\.[0-9]{1,2})?$)
trece:.25
0.25
10.25
+0.25
nu't pass:
-.25
01.25
1.
1.256
Va face lucruri cum ar fi
12.
acceptat. Acest lucru nu este ceea ce este general acceptat, dar dacă în cazul în care aveți nevoie pentru a fi "flexibil", care este o modalitate de a merge. Și, desigur,[0-9]
poate fi înlocuit cu `\d, dar cred că e mai ușor de citit în acest mod.Încercați acest lucru
Aceasta va permite semne pozitive și negative, de asemenea.
Principalul răspuns este GREȘIT, pentru că valids
5.
sau5,
intrăriacest cod se ocupe de asta (dar la mine de exemplu numerele negative sunt interzise):
rezultatele sunt mai jos:
În general, adică nelimitat zecimale:
^-?(([1-9]\d*)|0)(.0*[1-9](0*[1-9])*)?$
.Aceasta a lucrat cu mine:
Grupul 1 e ta float număr și grupa 2 este fracțiunea numai.
Am incercat unul cu proiectul meu. Aceasta permite numere cu
+ | -
semne la fel de bine.A câștigat't trebuie să ia " e " în
e666.76
în considerare?Cu
adăugarea de raspunsul meu, cineva s-ar putea găsi că este util sau poate fi corecta a mea.
Chrome 56 nu este acceptat acest tip de modele (Chrome 56 este accpeting 11.11. o suplimentare .) cu numărul de tip, utilizați tipul de text ca de progres.
<input type="text" ng-model="/^[0-9]+(\.[0-9]{1,2})?$/" />Acest lucru va permite zecimal cu exponentiala si pana la 2 cifre ,
Demo
funcția va valida orice număr zecimal caracterul numărul de zecimale sau nu, se va spune "Numărul Corect" altfel "vă Rugăm să introduceți numai numere în sumă casuta." mesaj de alertă va veni.
Multumesc... :)