VERIFIER SI UN NUMERO DE TELEPHONE EST VALIDE

Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
- - Dernière réponse : Jean_Elens
Messages postés
53
Date d'inscription
dimanche 29 mai 2005
Statut
Membre
Dernière intervention
16 octobre 2006
- 1 juin 2005 à 19:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29574-verifier-si-un-numero-de-telephone-est-valide

Afficher la suite 
ni69
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
6 -
Tu peux faire aussi comme ça :

function IsNumeric(scr:string):Boolean;
begin
result := true;
try
StrToFloat(scr); // utilisation de Float pour la détection de nombres à virgule ;)
except
result := false
end;
end;

Malgré tout, ta fonction a l'avantage de pouvoir être utilisée dans l'EDI malgré le compilateur. En effet, ce que je te propose ne marche qu'en dehors de l'EDI, dans un prog déjà compilé, sans les alertes du compilateur dues à except :P
Conseil : ce serait bien que tu rajoutes la détection de la virgule dans ta chaîne de caractères pour permettre de faire des tests avec des extended :)

@+
Nico
jmp77
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
4 -
Hello,

Attention La fonction ISNumeric existe deja par défaut sous delphi :

Unit: IdGlobal

Determines if a character is a numeric digit.


function IsNumeric(c: char): Boolean;

Parameters

c: char

Character to be examined.


Returns

Boolean - True if the character is a numeric digit.


Description

IsNumeric is a Boolean function that indicates if the character in c contains a numeric digit in the range '0'..'9'.

Sinon moi je ferrais ceci :
function IsInteger(src:string):bool;

begin
Result := True;

Try
StrToInt(Src);
Except
Result := False;
end;
end;

++,
JMP77.
jmp77
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
4 -
Oups désolé Ni69 mais j'avais ouvert la source et j'etais partis a autre chose et je n'avais pas vu ton commentaire au moment ou j'ai posté.

Mais les grands esprits se rencontre a ce que je vois lol.
cs_moustachu
Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012
-
ou comme ça aussi
Function IsNumeric(p_varIn: Variant) : Boolean;
var
intCode: Integer;
extValue: Extended;
begin
// Si le variant est de type String
if VarIsStr(p_varin) then
begin
// Test si peut correspondre à Extended
val(p_varIn, extValue, intCode);
// Si code=0 -> p_varIn est "extended"
Result :(intCode 0);
end else begin
// Test Si variant est numérique
result := VarIsNumeric(p_varin);
end;
end;

Ca te permet de savoir si ton nombre est numérique (dont nombre à virgule).

++
Moustachu
ni69
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
6 -
jmp77 >> lol ;)

moustachu >> Ce code me parait un peu bricolé... ;)
Je reste à StrToFloat :P