انتقل إلى المحتوى

URLPattern

مطابقة عناوين ⁦URL⁩ بالأنماط مع المجموعات المسمّاة.

في هذه الصفحة
Open in ChatGPTOpen in Claude

يطابق ⁦URLPattern⁩ عناوين ⁦URL⁩ كاملة أو مكوّنات ⁦URL⁩ منفردة.

const users = new URLPattern({ pathname: "/users/:id" });

users.test({ pathname: "/users/42" }); // true
users.exec({ pathname: "/users/42" }).pathname.groups.id; // "42"

يقبل الإنشاء سلسلة نمط مع عنوان ⁦URL⁩ أساسي اختياري، أو قاموسًا يتضمن ⁦protocol⁩ و⁦username⁩ و⁦password⁩ و⁦hostname⁩ و⁦port⁩ و⁦pathname⁩ و⁦search⁩ و⁦hash⁩ و⁦baseURL⁩. ويطبّق الخيار ⁦ignoreCase⁩ مطابقة لا تميّز حالة الأحرف.

صيغة الأنماط

الصيغةالمعنى
:nameالتقاط مقطع مسمّى.
:name(regex)تعبير نمطي مخصّص مسمّى.
(regex)تعبير نمطي مخصّص غير مسمّى.
*حرف بدل كامل.
{...}مجموعة.
?, +, *معدِّل اختياري أو تكراري.
\xحرف حرفي مُهرَّب.
const api = new URLPattern("https://*.example.com/api/:resource");
api.exec("https://v2.example.com/api/widgets")
  .pathname.groups.resource; // "widgets"

const numeric = new URLPattern({ pathname: "/items/:id(\\d+)" });
numeric.test({ pathname: "/items/123" }); // true

const relative = new URLPattern("/items/:id", "https://example.com/");
relative.test("https://example.com/items/7"); // true

يعيد ⁦test()⁩ قيمة منطقية. ويعيد ⁦exec()⁩ القيمة ⁦null⁩ أو نتيجة تتضمن مدخل كل مكوّن ومجموعات الالتقاط فيه. وتكشف سمات المكوّنات للقراءة فقط النمط المُجمَّع، ويحدد ⁦hasRegExpGroups⁩ مجموعات التعابير النمطية الصريحة.

Reference

Status: Full · Not measured · since 1.1.0

Exports

ExportKindStatusNotes
URLPatternclassFullprotocol, username, password, hostname, port, pathname, search, hash, hasRegExpGroups, test(), exec()

هل كانت هذه الصفحة مفيدة؟