আমি জানি যে এটি একটি পুরানো পোস্টের কিছুটা, তবে এখানে নিয়মিত প্রকাশের সমস্তগুলিতে একটি খুব গুরুত্বপূর্ণ উপাদান অনুপস্থিত: আইডিএন ডোমেন নামের জন্য সমর্থন।
IDN ডোমেন নামগুলি xn-- দিয়ে শুরু হয়। তারা ডোমেন নামগুলিতে প্রসারিত UTF-8 অক্ষর সক্ষম করে। উদাহরণস্বরূপ, আপনি কি জানেন যে "♡ .com" একটি বৈধ ডোমেন নাম? হ্যাঁ, "লাভ হার্ট ডট কম"! ডোমেন নামটি যাচাই করার জন্য আপনাকে http://xn--c6h.com/ বৈধকরণটি পাস করতে হবে।
দ্রষ্টব্য, এই রেজেক্সটি ব্যবহার করার জন্য আপনাকে ডোমেনটিকে নিম্ন কেসে রূপান্তর করতে হবে এবং আপনি ডোমেনের নামগুলি ACE এ এনকোড করে তা নিশ্চিত করতে একটি আইডিএন লাইব্রেরিও ব্যবহার করতে হবে ("ASCII সামঞ্জস্যপূর্ণ এনকোডিং" হিসাবেও পরিচিত)। একটি ভাল গ্রন্থাগার হ'ল জিএনইউ-লিবিডন।
আইডিএন (1) হ'ল আন্তর্জাতিকীকৃত ডোমেন নেম লাইব্রেরির কমান্ড লাইন ইন্টারফেস। নিম্নলিখিত উদাহরণটি ইউটিএফ -8 এ হোস্টের নামকে ACE এনকোডিংয়ে রূপান্তর করে। ফলাফল URL টি https: //nic.xn--flw351e/ এর পরে https: // nic। Of 歌 / এর এসিই-এনকোড সমতুল্য হিসাবে ব্যবহার করা যেতে পারে ।
$ idn --quiet -a nic.谷歌
nic.xn--flw351e
এই যাদু নিয়মিত প্রকাশের বেশিরভাগ ডোমেনগুলি কভার করা উচিত (যদিও, আমি নিশ্চিত যে অনেকগুলি বৈধ প্রান্তের মামলা আমি মিস করেছি):
^((?!-))(xn--)?[a-z0-9][a-z0-9-_]{0,61}[a-z0-9]{0,1}\.(xn--)?([a-z0-9\-]{1,61}|[a-z0-9-]{1,30}\.[a-z]{2,})$
কোনও ডোমেন যাচাইকরণ রেজেক্স নির্বাচন করার সময়, আপনার ডোমেনটি নিম্নলিখিতগুলির সাথে মেলে কিনা তা দেখতে হবে:
- xn--stackoverflow.com
- stackoverflow.xn - COM
- stackoverflow.co.uk
যদি এই তিনটি ডোমেন পাস না করে তবে আপনার নিয়মিত প্রকাশটি বৈধ ডোমেনগুলিকে অনুমতি দিচ্ছে না!
পরীক্ষা করে দেখুন ওরাকল আন্তর্জাতিক ভাষা পরিবেশ গাইড থেকে ইন্টারন্যাশনেলাইজড ডোমেন নামগুলি সাপোর্ট পৃষ্ঠা দেখুন।
নিখরচায় নিখরচায় চেষ্টা করে দেখুন: http://www.regexr.com/3abjr
আইসিএএনএন টিডিএলডদের একটি তালিকা রাখে যা নির্ধারিত হয়েছে যা আইডিএন ডোমেনগুলির কয়েকটি উদাহরণ দেখতে ব্যবহার করা যেতে পারে।
সম্পাদনা:
^(((?!-))(xn--|_{1,1})?[a-z0-9-]{0,61}[a-z0-9]{1,1}\.)*(xn--)?([a-z0-9][a-z0-9\-]{0,60}|[a-z0-9-]{1,30}\.[a-z]{2,})$
এই নিয়মিত প্রকাশটি এমন ডোমেনগুলি থামিয়ে দেবে যা হোস্টনামের শেষে '-' রয়েছে যা বৈধ বলে চিহ্নিত হয়েছে। অতিরিক্তভাবে, এটি সীমাহীন সাবডোমেনগুলিকে অনুমতি দেয়।