मैं वर्तमान में "उचित" यूआरआई सत्यापनकर्ता पर काम कर रहा हूं, और वर्तमान में यह सब होस्टनाम सत्यापन के लिए नीचे आता है; बाकी मुश्किल नहीं है।आईडीएन होस्ट लेबल में कौन से यूनिकोड वर्णों की अनुमति है?
मैं आईडीएन होस्टनाम लेबल पर अटक गया हूं (यानी, यूनिकोड युक्त; संभावित पन्योड एन्कोडेड तारों को इस बिंदु पर डीकोड किया गया है)।
मेरा पहला विचार मूल रूप से टीएलडी के लिए एक रेगेक्स था जो आईडीएन का समर्थन नहीं करता है और जो लोग करते हैं उनके लिए एक। यह शायद Mozilla’s list of IDN-enabled TLDs पर आधारित हो सकता है। आदरणीय, ^[a-zA-Z0-9\-]+$
और ^[a-zA-Z0-9\-\p{L}]+$
। हालांकि, यह एक आदर्श स्थिति नहीं है, क्योंकि प्रत्येक आईडीएन रजिस्ट्रार यह तय कर सकता है कि कौन से पात्रों को अनुमति है।
जो मैं खोज रहा हूं वह विभिन्न टीएलडी में अनुमत यूनिकोड वर्णों की एक उचित, सुसंगत, अद्यतित डेटा तालिका है। ऐसा लगता है कि मुझे रूसी और चीनी रजिस्ट्री साइटों (जो काफी मुश्किल है) में खुद को सभी डेटा मिलना है।
तो इससे पहले कि मैं अपने सभी डेटा को इकट्ठा करने की कोशिश कर रहा हूं, मुझे आश्चर्य हुआ कि ऐसी सूची पहले से मौजूद है या नहीं। या क्या बेहतर दृष्टिकोण हैं, सर्वोत्तम/सामान्य प्रथाओं आदि? (मैं सत्यापन को यथासंभव सख्त होना चाहता हूं।)
सच .. मैंने भी इसके बारे में सोचा। हालांकि यह उपयोगकर्ता इनपुट के बारे में है .. मैं अपने उपयोगकर्ताओं को यूरी के पहले punycode में परिवर्तित करने के लिए नहीं बता सकता। तो यह मुझे (जिसे आप शायद मतलब था) को आंतरिक रूप से पन्योडोड में परिवर्तित कर देता है ... फिर भी इसका मतलब यह नहीं है कि मेजबाननाम वास्तव में मान्य होना चाहिए (अगर मैं गलत हूं तो मुझे सही करें), इसलिए उस मामले में किसी भी यूनिकोड वर्ण (\ पी {एल}) और इसे वैध मानते हुए मूल रूप से वही बात है। आखिरी विकल्प मेरी फॉलबैक विधि होगी यदि मैं एक अच्छे समाधान में नहीं आ सकता; यदि यह मामला होने जा रहा है तो क्या आप सूची मोज़िला को प्रदान करने का सुझाव देंगे (उदा। 2 रेगेक्स)? –
उपरोक्त को साफ़ करने के लिए; टीएलडी की मोज़िज़िला पर सूचीबद्ध -> [ए-जेए-जेड -9-9 \ - \ पी {एल}]/अन्य सभी टीएलडी -> [ए-जेडए-जेड 0-9 \ -] क्या यह उचित सत्यापन होगा? –