Problema con validazione cognome con apostrofo e exp. regolari

Problema con validazione cognome con apostrofo e exp. regolari

Buongiorno a tutti,

ho un problema con la validazione dei cognomi con l'apostrofo.

prendiamo come esempio il cognome D'AMICO se io lo passo a questo snippet, mi restituisce sempre false, mentre se passo cognomi senza apostrofo č true..

public function _nomeCognome($nomGogn) 
{ 
     $this->nomGogn = trim($nomGogn); 
     if( !preg_match("/^[A-Za-z '-]{2,15}$/i",  $this->nomGogn) ) 
     { 
         return false; 
     } 
     else 
     { 
         return true; 
     } 
         
     return false; 
}
inviato 5 anni fa
felix1
X 0 X

Non dovresti fare conversioni implicite: preg_match() restituisce un intero, oppure false in caso di errore.

Dovresti quindi cambiare la tua if in questo modo:

<?php

if (preg_match("/^[A-Z '-]{2,15}$/i",  $this->nomGogn) == 1 )
{
  return true
}
// ecc...

Nota anche che č inutile riportare A-Za-z insieme al flag "i".

In tutto questo... a me l'espressione regolare funziona  ;)

Ecco il mio piccolo test casareccio:

<?php

$p = "/^[A-Z '-]{2,15}$/i";

$a = "ciao mondo";
$b = "l'apostrofo";
$c = "cognome";
$d = "non va ben 3";
$e = "nemmeno!";

var_dump(preg_match($p, $a));
var_dump(preg_match($p, $b));
var_dump(preg_match($p, $c));
var_dump(preg_match($p, $d));
var_dump(preg_match($p, $e));

e l'output

int(1)
int(1)
int(1)
int(0)
int(0)
risposto 5 anni fa
Massimiliano Arione
X 0 X

OK grazie per il consiglio!!

provo e ti faccio sapere.......

risposto 5 anni fa
felix1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda