فشل الكود الحالي في مطابقة عناوين URL المجردة، التي تفتقر إلى البادئة "http://". لمعالجة هذه المشكلة، فكر في استخدام تعبير عادي شامل:
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
يتضمن هذا التعبير المحسن الميزات التالية:
بالنسبة لأولئك الذين لا يحتاجون إلى بروتوكول HTTP في مطابقاتهم، يتوفر تعبير بديل:
[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
لتوضيح وظيفة هذه التعبيرات، راجع أدوات الاختبار عبر الإنترنت على http://regexr.com?37i6s (للتعبير الأول) أو http //regexr.com/3e6m0 (للتعبير الأقل تقييدًا).
إليك مثال لتطبيق JavaScript باستخدام التعبير العادي الأكثر شمولاً:
const expression = /[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)/gi; const regex = new RegExp(expression); const t = 'www.google.com'; if (t.match(regex)) { alert("Successful match"); } else { alert("No match"); }
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3