2011-01-14 25 views

risposta

20
^[0-9]*\.[0-9]{2}$ or ^[0-9]*\.[0-9][0-9]$ 
+0

come utilizzare questo in javascript per abbinare –

7

Se siete alla ricerca di una intera partita di linea mi piacerebbe andare con la risposta di Paolo.

Se stai cercando di abbinare un numero witihn una linea di meta: \d+\.\d\d(?!\d)

  • \d+ Uno dei più cifre (lo stesso [0-9])
  • \. Partite a carattere periodo
  • \d\d Partite i due cifre decimali
  • (?!\d) È un lookahead negativo che garantisce che il carattere successivo non sia una cifra.
+0

'd' =>' \ d' e '!?' => '? ! ' – marcog

+0

@marcog: Grazie. L'ho guardato più volte e non sono riuscito a individuare quegli errori ... – Grhm

3

Dipende un po 'su quello che non dovrebbe corrispondere e ciò che dovrebbe e in quale contesto

per esempio se il testo che si prova contro solo tenere premuto il numero? in quel caso si potrebbe fare questo:

/^[0-9]+\.[0-9]{2}$/ 

ma che metterà alla prova l'intera stringa e quindi non riuscire se la partita dovrebbe essere fatto come parte di un tutto più grande

se ha bisogno di essere all'interno di un più lungo Styring si potrebbe fare

/[0-9]+\.[0-9]{2}[^0-9]/ 

ma che avrà esito negativo se la stringa è è solo il numero (in quanto richiederà un nessuno cifre a seguire il numero)

se avete bisogno di b e in grado di coprire entrambi i casi è possibile utilizzare il seguente:

/^[0-9]+\.[0-9]{2}$|[0-9]+\.[0-9]{2}[^0-9]/ 
+0

Approccio interessante. Non sono sicuro che accadrebbe un numero alla fine di una stringa più lunga. Suggerisco che la tua ultima riga possa essere cambiata in '/ [0-9] + \. [0-9] {2} ([^ 0-9] | $) /' – Grhm

0

Si può anche provare Regular Expression

^\d+(\.\d{1,2})?$ 

or 
var regexp = /^\d+\.\d{0,2}$/; 

// returns true 
regexp.test('10.5') 

or 
[0-9]{2}.[0-9]{2} 

or 
^[0-9]\d{0,9}(\.\d{1,3})?%?$ 

or 
^\d{1,3}(\.\d{0,2})?$ 
-1

è il valore seguente è valida per floating point di ingresso (come campo di prezzo)?

0,00 nel campo del prezzo?

Secondo me 0,01 e 0,10 è valido ma non 0.00 non è valore float valido

+0

Questo non risponde alla domanda precedente affatto. – Chanlito

Problemi correlati