regular expression

1 view
Skip to first unread message

Ale

unread,
Jul 8, 2013, 12:37:46 PM7/8/13
to zb-p...@googlegroups.com
Ciao,
sono ore che sto sbattendo la testa su una regular expression che mi fa diventare matto da tanto che è semplice.

In pratica la mia regular expression deve controllare un numero che può partire anche con 0 e deve avere 7 numeri. esempio:

0000123 ok
0012345 ok
0000000 ok
1234567 ok
9869643 ok
ABC.0000123 ok
ABC.0012345 ok
ABC.0000000 ok
ABC.1234567 ok
ABC.9869643 ok


Come potete vedere sotto, ho fatto questa funzione. Putroppo però mi sono accorto che la strlen, se gli passi un numero che inizia con 0, non lo conta.

function checkCodiceCliente($code) {

$code = trim($code);

if($code == '') return false;

if(strlen($code)!= 7) {
if(strlen($code)!= 11) return false;
}

if(strlen($code) == 7) {
if(!preg_match("/[0-9]+$/", $code)) return false;
}

if(strlen($code) == 11) {
if(!strstr($code,"ABC.")) return false;
}

return true;

}

Riuscite a darmi una mano? 

Grazie
ale


giovanni battista lenoci

unread,
Jul 8, 2013, 1:00:51 PM7/8/13
to zb-p...@googlegroups.com
forse ho capito male perchè mi sembra troppo semplice, ma una cosa cosi intendi? 

$re = '/^[0-9]{7}$/';

if(preg_match($re, $codice)) {
  // giusto
}




ale


--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "zb-php-it" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più i suoi messaggi, invia un'email a zb-php-it+...@googlegroups.com.
Per postare messaggi in questo gruppo, invia un'email a zb-p...@googlegroups.com.
Visita questo gruppo all'indirizzo http://groups.google.com/group/zb-php-it.
Per ulteriori opzioni, visita https://groups.google.com/groups/opt_out.
 
 



--
Giovanni Battista Lenoci - Ueppy Technical Manager    
Via Piedo 58, 23020 Tresivio (SO)
+39 347 7196482
gia...@ueppy.com - http://www.ueppy.com/

giovanni battista lenoci

unread,
Jul 8, 2013, 1:01:38 PM7/8/13
to zb-p...@googlegroups.com
Se il gruppo che comincia con la lettera deve passare basta che togli il ^.

Motosauro

unread,
Jul 8, 2013, 1:02:38 PM7/8/13
to zb-p...@googlegroups.com
A memoria (non sono al pc)
[A-Z]*\.?[0-9]{7}

A naso dovrebbe andare, appena ho un sec la testo, ovviamente testala anche tu


Il giorno 08 luglio 2013 18:37, Ale <alessand...@gmail.com> ha scritto:
ale


Motosauro

unread,
Jul 8, 2013, 1:06:51 PM7/8/13
to zb-p...@googlegroups.com

<?php
$stringhe = array ( 
' AAA.1234567',
'AAA.1234567',
'1234567',
'.1234567',
'123456',
);

foreach ($stringhe as $s){
preg_match_all('/[A-Z]*\.?[0-9]{7}/',$s,$matches);
print_r($matches);
}

......


Array
(
    [0] => Array                                                                                                                                                                                                                             
        (                                                                                                                                                                                                                                    
            [0] => AAA.1234567                                                                                                                                                                                                               
        )                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                             
)                                                                                                                                                                                                                                            
Array                                                                                                                                                                                                                                        
(                                                                                                                                                                                                                                            
    [0] => Array                                                                                                                                                                                                                             
        (                                                                                                                                                                                                                                    
            [0] => AAA.1234567                                                                                                                                                                                                               
        )                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                             
)                                                                                                                                                                                                                                            
Array                                                                                                                                                                                                                                        
(                                                                                                                                                                                                                                            
    [0] => Array                                                                                                                                                                                                                             
        (                                                                                                                                                                                                                                    
            [0] => 1234567                                                                                                                                                                                                                   
        )                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                             
)                                                                                                                                                                                                                                            
Array                                                                                                                                                                                                                                        
(                                                                                                                                                                                                                                            
    [0] => Array                                                                                                                                                                                                                             
        (
            [0] => .1234567
        )

)
Array
(
    [0] => Array
        (
        )

)

Alessandro Cimoli

unread,
Jul 9, 2013, 5:45:51 AM7/9/13
to zb-p...@googlegroups.com
Se a qualcuno intressa, ecco la regular expression:

/^(ABC\.)?[0-9]{7}$/


2013/7/8 Motosauro <moto...@gmail.com>
Reply all
Reply to author
Forward
0 new messages