Dans mon application mobile plus futée, j'essaie de valider un numéro de téléphone en utilisant regex
. Voici les conditions.
En termes simples, voici les seuls numéros de téléphone "valides"
0776233475
, +94776233475
, 094776233475
Voici ce que j'ai essayé, mais cela ne fonctionne pas.
String _phoneNumberValidator(String value) {
Pattern pattern =
r'/^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/';
RegExp regex = new RegExp(pattern);
if (!regex.hasMatch(value))
return 'Enter Valid Phone Number';
else
return null;
}
Comment puis-je resoudre ceci?
Vous pouvez rendre la première partie facultative correspondant à un +
ou 0 suivi d'un 9. Faites ensuite correspondre 10 chiffres:
^(?:[+0]9)?[0-9]{10}$
^
Début de chaîne(?:[+0]9)?
Correspond éventuellement à un +
ou 0
suivi de 9[0-9]{10}
Correspond à 10 chiffres$
Fin de chaînevalidation à l'aide de Regex
String validateMobile(String value) {
String patttern = r'(^(?:[+0]9)?[0-9]{10,12}$)';
RegExp regExp = new RegExp(patttern);
if (value.length == 0) {
return 'Please enter mobile number';
}
else if (!regExp.hasMatch(value)) {
return 'Please enter valid mobile number';
}
return null;
}