سرفصل‌های آموزشی
آموزش رگیولار اکسپرشن
اعتبارسنجی انواع مختلف آدرس سایت با استفاده از RegEx

اعتبارسنجی انواع مختلف آدرس سایت با استفاده از RegEx

فرض کنیم می‌خواهیم رِجِکسی بنویسیم که با یوآرال‌های زیر مَچ شود:

http://www.sokanacademy.com
http://sokanacademy.com
https://www.sokanacademy.com
https://sokanacademy.com

برای این منظور، ابتدا الگوی مناسب این کار را نوشته سپس به تفسیر آن خواهیم پرداخت:

var string = "https://sokanacademy.com";
var regex = /http[s]*:\/\/[www\.]*\w+\.\w{3}/;
string.match(regex);

در تفسیر پَترن (الگو) فوق باید گفت که یوآرال‌های قابل‌قبول می‌باید با http شروع شوند سپس به حرف s می‌رسیم که آن را داخل علائم [] قرار داده‌ایم و پس از آن علامت * را درج نموده‌ایم بدان معنا که کاراکتر s هم می‌تواند وجود نداشته باشد و هم وجود داشته باشد. در ادامه علامت : را نوشته‌ایم که همواره بخشی از یوآرال است و در ادامه نیاز به پوشش دادن علائم // داریم اما همان‌طور که ملاحظه می‌شود، قبل از هر کدام از آن‌ها از علامت \ استفاده نموده‌ایم تا به اصطلاح آن‌ها را اِسکیپ کنیم.

در ادامهٔ‌ طراحی رِجِکس فوق، حروف www را به انضمام .\ داخل علائم [] گذاشته و یک علامت * پس از این مجموعه علائم درج کرده‌‌ایم بدان معنا که با قرار دادن یک علامت \ قبل از . آن را به اصطلاح اِسکیپ کرده‌ایم و علامت * نیز بدان معنا است که .www می‌تواند بخشی از یوآرال باشد یا نباشد.

سپس w\ را نوشته‌ایم که حاکی از مجاز بودن درج کلیهٔ‌ اعداد و حروف است و علامت + نیز نشانگر آن است که آدرس اصلی دامنه می‌تواند حداقل یک کاراکتر و حداکثر بی‌نهایت باشد (البته لازم به یادآوری است که می‌توان در این خصوص نیز محدودیت‌هایی در نظر گرفت.) در نهایت هم .\ به نقطهٔ‌ قبل از com برمی‌گردد و در انتها نیز {3}w\ حاکی از آن است که پسوند دامنه می‌باید مجموعه‌ای از سه حرف باشد.

online-support-icon