J'essaie de créer des expressions régulières qui filtreront les courriels valides en utilisant PHP et qui ont rencontré un problème qui est en conflit avec ce que je comprends des expressions régulières. Voici le code que j'utilise.Amusement d'expression régulière avec des courriels;
if (!preg_match('/^[-a-zA-Z0-9_.][email protected][-a-zA-Z0-9]+.[a-zA-Z]{2,4}$/', $string)) {
return $false;
}
maintenant des matériaux que j'ai étudié, cela devrait permettre le contenu avant que le @ pour avoir plusieurs lettres, des chiffres, et souligne les périodes, puis par la suite pour permettre à plusieurs lettres et de chiffres, alors besoin d'une période, puis deux à quatre lettres pour le domaine de premier niveau.
Toutefois, pour l'instant, il ne tient pas compte de la nécessité d'avoir la section de domaine de premier niveau. Par exemple, [email protected] est évidemment valide (et devrait l'être), mais un @ b est également retourné comme valide, ce que je veux marquer comme non.
Je suis sûr que je "suis manque quelque chose, mais après la navigation Google pour une heure, je suis à une perte de ce qu'il pourrait être quelqu'un a une réponse à cette énigme
EDIT:.? La vitesse que les réponses arrivent ici rend ce site supérieur à ses concurrents.Bien fait!
Votre expression régulière ne correspond pas à [email protected] –
Est-il censé correspondre à une adresse e-mail, ce qui signifie qu'il suffit de vérifier si elle est valide? Découvrez la propre méthode filter_var de PHP en utilisant la constante FILTER_VALIDATE_EMAIL. Pourrait faire l'affaire très bien .. –
Ya je pense que je pourrais juste l'utiliser. Cela ne se comporte pas comme on me l'a dit à travers plusieurs sources. – canadiancreed