Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #20110 > unrolled thread

espressione regolare

Started by"Halnow" <21718invalid@mynewsgate.net>
First post2015-11-28 17:28 +0000
Last post2015-11-29 11:40 +0000
Articles 6 — 2 participants

Back to article view | Back to it.comp.www.php


Contents

  espressione regolare  "Halnow" <21718invalid@mynewsgate.net> - 2015-11-28 17:28 +0000
    Re: espressione regolare Alessandro Pellizzari <shuriken@amiran.it> - 2015-11-28 22:01 +0000
      Re: espressione regolare Alessandro Pellizzari <shuriken@amiran.it> - 2015-11-28 22:03 +0000
      Re: espressione regolare "Halnow" <21718invalid@mynewsgate.net> - 2015-11-29 09:10 +0000
        Re: espressione regolare Alessandro Pellizzari <shuriken@amiran.it> - 2015-11-29 09:21 +0000
          Re: espressione regolare "Halnow" <21718invalid@mynewsgate.net> - 2015-11-29 11:40 +0000

#20110 — espressione regolare

From"Halnow" <21718invalid@mynewsgate.net>
Date2015-11-28 17:28 +0000
Subjectespressione regolare
Message-ID<2015112817284421718@mynewsgate.net>
ciao

volevo ottenere un'espressione in grado di verificare se l'input utente
è composto da 1 a 10 cifre seguito da due cifre decimali...
0,00 
1,20
12,53
1526,60 
etc...

testando non ottengo il risultato desiderato... consigli?

thx :)

if (!preg_match("/^d{1,10}(\,\d{2})?$/",$input_utente)) {

echo "errore formato input";

}

[toc] | [next] | [standalone]


#20111

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2015-11-28 22:01 +0000
Message-ID<dbumijFml5bU1@mid.individual.net>
In reply to#20110
Il Sat, 28 Nov 2015 17:28:44 +0000, Halnow ha scritto:

> volevo ottenere un'espressione in grado di verificare se l'input utente
> è composto da 1 a 10 cifre seguito da due cifre decimali...
> 0,00 1,20 12,53 1526,60 etc...

La parte decimale è facoltativa o obbligatoria? Dalla tua RE sembra 
facoltativa.
 
> if (!preg_match("/^d{1,10}(\,\d{2})?$/",$input_utente)) {

Sul primo d manda il backslash: \d
Sulla virtola non serve il backslash: (,\d{2}...)

preg_match restituisce 0 se non matcha e false se c'è un errore nella 
regexp. Se casti tutto a bool non saprai mai se c'è stato un errore o se 
non ha trovato il match. L'if giusto è

$res = preg_match...;

if (false === $res) {
 // errore

} else if (0 === $res) {
 // no match

} else {
 // match
}

Bye.

[toc] | [prev] | [next] | [standalone]


#20112

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2015-11-28 22:03 +0000
Message-ID<dbumm0Fml5bU2@mid.individual.net>
In reply to#20111
Il Sat, 28 Nov 2015 22:01:55 +0000, Alessandro Pellizzari ha scritto:

> Sul primo d manda il backslash: \d Sulla virtola non serve il backslash:
> (,\d{2}...)

OK, sono ufficialmente rincoglionito/dislessico dal sonno. Spero si capisca 
lo stesso... :)

Bye.

[toc] | [prev] | [next] | [standalone]


#20113

From"Halnow" <21718invalid@mynewsgate.net>
Date2015-11-29 09:10 +0000
Message-ID<2015112909103221718@mynewsgate.net>
In reply to#20111

Ciao ti ringrazio per le delucidazioni :)

p.s. in effetti la parte decimale è obbligatoria

[toc] | [prev] | [next] | [standalone]


#20114

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2015-11-29 09:21 +0000
Message-ID<dbvucpFttsfU1@mid.individual.net>
In reply to#20113
Il Sun, 29 Nov 2015 09:10:32 +0000, Halnow ha scritto:

> p.s. in effetti la parte decimale è obbligatoria

Allora è semplice:

/^\d{2,10},\d{2}$/

Bye.

[toc] | [prev] | [next] | [standalone]


#20115

From"Halnow" <21718invalid@mynewsgate.net>
Date2015-11-29 11:40 +0000
Message-ID<2015112911403621718@mynewsgate.net>
In reply to#20114
Grazie!

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.www.php


csiph-web