इनपुट प्रकार = "ईमेल" टेस्ट @ टेस्ट की अनुमति देता है, क्यों?


10

मैं हमेशा इस धारणा के अधीन रहा हूं कि ब्राउज़र ईमेल-सत्यापन-रेगेक्स जेएस / पीएचपी में कुछ रेगेक्स पैटर्न की तुलना में अधिक मजबूत है।

मेरे नियोक्ता ने मुझे दिखाया कि दोनों तार सही माने जाते हैं (FF28 में अंतिम बार):

test@test.com // Expected to be true, is true
test@test     // Expected to be false, is true

बाद वाला सच क्यों है? यह एक बग है, या भविष्य के लिए कुछ है? क्योंकि जहां तक ​​मैं बता सकता हूं, एक एक्सनोटेशन (शायद लोकलहोस्ट्स के अलावा) का उपयोग न करना सही नहीं है।

जो कोई इस पर कुछ प्रकाश डाल सकता है?


2
"शायद लोकलहोस्ट्स के अलावा" - और ब्राउज़र कैसे अंतर करता है?
MrWhite

1
फ़ुथर्मोर, मेरा मानना ​​है कि <input type="email" />यह केवल मोबाइल वेबसाइटों के लिए उपयोगी है, ताकि अधिकांश कीबोर्ड एक उपयुक्त प्रदर्शन ( @कुंजी के साथ , और कुछ .comशॉर्टकट ...) के साथ दिखाई दें।
रिचौहंटर 10

मैं नहीं जानता कि, मैं न निर्माण ब्राउज़रों :) एक चतुर चाल, या हो सकता है कुछ सेटिंग आप के लिए जोड़ सकते हैं सकता है हो सकता हैpattern
मार्टिन

6
यह पूरी तरह से मान्य पता है, इसे अस्वीकार क्यों किया जाएगा?
जोर्ग डब्ल्यू मित्तग

1
क्योंकि test@testएक मान्य ईमेल पता है ... यह testएक के रूप में व्यवहार करता है tld। जैसे tld के test@comलिए एक मान्य ईमेल पता है com... tools.ietf.org/html/rfc2822#section-3.4.1
स्नेकडोक

जवाबों:


20

यह मान्य है क्योंकि testएक शीर्ष-स्तरीय डोमेन हो सकता है और localpart@top-level-domainयह एक मान्य ईमेल पता है।

उदाहरण के लिए ईमेल पता, डोमेन भाग देखें


और चूंकि ICANN के पास अब अपनी पसंद के TLD के लिए आवेदन करने के लिए किसी (बड़े पर्याप्त) के लिए एक प्रक्रिया है, यह वास्तव में किसी भी ईमेल सत्यापनकर्ता के लिए testTLD के रूप में अस्वीकार करने के लिए अधिक संभव नहीं है, क्योंकि यह अभी तक पंजीकृत नहीं होना है।
स्टीव जेसप

1
@SteveJessop इसके अलावा ओपी ने यह निर्दिष्ट नहीं किया कि क्या वह वाक्य-विन्यास की वैधता की बात कर रहा है (ईमेल पंजीकृत न होने पर भी मान्य होगा) या यदि वह जाँच की बात कर रहा है कि क्या ईमेल काम करता है (और इस मामले में बहुत अधिक आवश्यकता होगी) ।। ।
मट्टियो

यदि यह मौजूद है तो जाँच नहीं, मुझे आश्चर्य था कि डोमेन एक्सटेशन की आवश्यकता नहीं थी। यह ब्राउज़र सत्यापन को बहुत कम उपयोगी बना देगा, क्योंकि किसी को केवल asd @ विज्ञापन टाइप करना होगा और वह पास हो जाएगा।
मार्टिज़न

5
@Martijn: "ब्राउज़र सत्यापन" केवल एक पहली पंक्ति सत्यापन जांच है (जिसे आसानी से बायपास किया गया है), इसलिए इसे व्यापक संभव जांच की आवश्यकता है। अंतिम "सख्त" सत्यापन अभी भी आपके सर्वर-साइड लॉजिक में होना चाहिए।
MrWhite

3

आप एक शीर्ष स्तर डोमेन नाम के साथ एक मशीन बनाने के लिए अपनी होस्ट्स फ़ाइल को संपादित कर सकते हैं या स्थानीय नेटवर्क पर एक DNS सर्वर चला सकते हैं। ईमेल पता केवल तभी सुलभ होगा जब इसे केवल उस स्थानीय नेटवर्क के भीतर रूट किया गया हो, लेकिन यह एक संभव कॉन्फ़िगरेशन है।


2

यह भी ध्यान दें कि किसी भी सत्यापन जांच को करने के लिए वेब ब्राउज़र की आवश्यकता नहीं है । पुराने ब्राउज़र ईमेल पते के साथ कुछ विशेष नहीं करते हैं। नए ब्राउज़र मान्य हो सकते हैं, लेकिन मोबाइल डिवाइस पर 'ईमेल' प्रकार सबसे अधिक उपयोगी होता है जहाँ उपयोगकर्ता को एक विशेष कीबोर्ड दिखाया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.