जावा रेगेक्स ईमेल सत्यापन के साथ समस्या
नियमित अभिव्यक्ति का उपयोग करके ईमेल पते को मान्य करने के प्रयास में, एक जावा उपयोगकर्ता को एक समस्या का सामना करना पड़ा है जहां सुव्यवस्थित ईमेल पतों के लिए भी सत्यापन विफल रहता है। इस तथ्य के बावजूद कि एक्लिप्स के भीतर "ढूंढें और बदलें" फ़ंक्शन में उपयोग किए जाने पर रेगेक्स ईमेल पते से मेल खाता है, जावा के पैटर्न और मैचर कक्षाओं के साथ उपयोग किए जाने पर यह विफल हो जाता है।
प्रश्न में रेगेक्स है:
\b[A-Z0-9._%-] @[A-Z0-9.-] \.[A-Z]{2,4}\b
उपयोगकर्ता ने जावा में इस कोड को नियोजित किया है:
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!");
हालाँकि, ईमेल पता वैध या अमान्य होने के बावजूद, रेगेक्स सत्यापन विफल हो जाता है।
एक संभावित समाधान
एक सुझाया गया समाधान निम्नलिखित जावा कोड का उपयोग करना है, जो एक समान रेगेक्स को नियोजित करता है:
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