Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #20110 > unrolled thread
| Started by | "Halnow" <21718invalid@mynewsgate.net> |
|---|---|
| First post | 2015-11-28 17:28 +0000 |
| Last post | 2015-11-29 11:40 +0000 |
| Articles | 6 — 2 participants |
Back to article view | Back to it.comp.www.php
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
| From | "Halnow" <21718invalid@mynewsgate.net> |
|---|---|
| Date | 2015-11-28 17:28 +0000 |
| Subject | espressione 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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2015-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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2015-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]
| From | "Halnow" <21718invalid@mynewsgate.net> |
|---|---|
| Date | 2015-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]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2015-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]
| From | "Halnow" <21718invalid@mynewsgate.net> |
|---|---|
| Date | 2015-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