مشكلة في التحقق من صحة البريد الإلكتروني Regex في Java
في محاولة التحقق من صحة عناوين البريد الإلكتروني باستخدام تعبير عادي، واجه مستخدم Java مشكلة حيث يفشل التحقق من الصحة حتى بالنسبة لعناوين البريد الإلكتروني جيدة التكوين. على الرغم من حقيقة أن التعبير العادي يطابق عناوين البريد الإلكتروني عند استخدامه في وظيفة "بحث واستبدال" داخل Eclipse، إلا أنه يفشل عند استخدامه مع فئات Pattern وMatcher في Java.
التعبير العادي المعني هو:
\b[A-Z0-9._%-] @[A-Z0-9.-] \.[A-Z]{2,4}\b
لقد استخدم المستخدم هذا الرمز في Java:
Pattern p = Pattern.compile("\\b[A-Z0-9._%-] @[A-Z0-9.-] \\.[A-Z]{2,4}\\b"); Matcher m = p.matcher("[email protected]"); if (m.find()) System.out.println("Correct!");
ومع ذلك، بغض النظر عن كون عنوان البريد الإلكتروني صالحًا أو غير صالح، يفشل التحقق من صحة التعبير العادي.
حل محتمل
الحل المقترح هو استخدام كود Java التالي، والذي يستخدم تعبيرًا عاديًا مشابهًا:
public static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^}[A-Z0-9._% -] @[A-Z0-9.-] \\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE); public static boolean validate(String emailStr) { Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr); return matcher.matches(); }
تم الإبلاغ عن هذا الرمز للتحقق من صحة عناوين البريد الإلكتروني بشكل موثوق.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3