Qu'est-ce qu'un bon moyen de valider les numéros de téléphone en cours d'entrée dans le codeigniter? p>
C'est ma première rédaction d'une application, et je ne comprends pas vraiment la regex du tout. p>
est-il plus facile d'avoir trois champs de saisie pour le numéro de téléphone? p>
4 Réponses :
Le meilleur moyen n'est pas de valider des numéros de téléphone, sauf si vous êtes absolument 100% positif que vous ne faites que traiter des numéros de téléphone aux États-Unis ou au moins en Amérique du Nord. Dès que vous autorisez les numéros de téléphone de l'Europe, je ne pense pas qu'il y ait une regex qui couvre toutes les possibilités. P>
Ouais. Ceci est fondamentalement la même chose avec les adresses électroniques, comme vous pouvez le constater ici: régulier-expressions.info/ email.html
Quelle est la chose commune de tous les numéros de téléphone? C'est vrai, les chiffres b>! voir mon message ci-dessous
Soutez les non-chiffres avec ceci: et voir s'il y a suffisamment de caractères! P> $numRequired = 7; // make your constraints here
if( strlen( $justNumbers ) < $numRequired ){ /* ... naughty naughty ... */ }
La chose à ce sujet est qu'il y a beaucoup d'endroits qui utilisent des numéros de téléphone à 10 chiffres et certains qui utilisent encore 7. Cela ne prend pas non plus en vigueur l'utilisation de parenthèses pour l'indicatif régional ou les traits d'union / espaces pour séparer le pré et la post. Corrections pour les numéros de téléphone.
Voici une refroidie refroidie que j'ai découvert sur le Web. Il valide un numéro dans presque tous les formats américains et la convertit à (xxx) xxx-xxxx. Je pense que c'est génial car alors les gens peuvent entrer dans un numéro de téléphone à 10 chiffres US en utilisant le format utilisé pour utiliser et vous obtenez un numéro correctement formaté.
Voici toute la fonction que vous pouvez déposer dans votre classe My_Form_Validation. Je voulais que mon formulaire autorise les champs vides afin de pouvoir le modifier si vous souhaitez forcer une valeur. P>
Créez un fichier dans votre dossier bibliothèques appelé my_form_Validation. Assurez-vous que vous appelez $ ceci-> Load-> Bibliothèque ('Form_Validation') dans votre contrôleur. Ensuite, dans la fonction qui traite la soumission, do $ ceci-> form_validation-> set_rules ('Phone_1', 'Téléphone 1', 'valid_phone_number_or_empty'); Où Phone_1 est votre champ de formulaire.
Au lieu d'utiliser la garniture, vous devez prendre la première ligne de code de Dan Beam (mais remplacer $ _Post avec valeur $), puis le formater comme vous le souhaitez.
La solution de regex comme expliquée par Dan serait la voie à la faire - mais vous voudrez peut-être repenser le tout à la validation des numéros de téléphone. Et si l'utilisateur veut ajouter une note comme il / elle ferait sur papier? - Je vois de nombreuses valeurs entrées dans les champs de numéro de téléphone pour être des trucs comme: p>
307-555-2323 (home) p>
ou p>
307-555-3232 après 18h p>
Je pense qu'aujourd'hui, nous pouvons assumer que les utilisateurs sait quoi entrer. P>
Il y a toujours une bonne raison de limiter la saisie des données via la validation. Les champs ne sont pas pour des notes, ils sont destinés à des informations spécifiques.