2010-07-15 3 views
0

je suis plus récent lié à Regexp sur PHP ...PHP: comment créer une regexp à preg_match() pour les téléphones mobiles PT?

Je dois créer un Regexp pour filtrer les téléphones mobiles portugais, quelqu'un peut me aider et d'expliquer comment je le fais? (Pour je le comprends)

Règles:

The integer/string must have 9chars; 
The first char must be a '9'; 
The second one can be '1,2,3,6' (Chars are separeted by commas); 
The other chars must be in range of '0-9'; 
+0

Je voudrais ajouter quelques exemples de chaînes qui ne correspondent pas. – dreeves

Répondre

4
#9[1236][0-9]{7}# 

Cela devrait le faire;)

Explication:

# <-- delimiter 
    9 <-- 9 
    [1236] <-- either of the chars in the brackets 
    [0-9]{7} <-- 0-9 7 times 
# <-- delimiter 

Utilisation: Si vous voulez vérifier si quelque chose est un numéro de téléphone valide, utilisez:

$isValid = preg_match('#^9[1236][0-9]{7}$#', $phoneNumber); 

Notez les ^ et $. Ceux-ci assurent qu'il n'y a que le numéro de téléphone et rien de plus.

+0

merci pour l'explication, j'essayais avec/et pas #, quelle est la diference? – CuSS

+0

Cela aurait aussi bien fonctionné avec '/'. J'utilise simplement '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' – NikiC

Questions connexes