يضيف تنفيذ عنوان عنوان URL تلقائيًا وهو المحتوى في الواقع: الكشف والاستبدال.
امتحان
"الكشف" هو اكتشاف ما إذا كان النص (السلسلة) لديه محتوى يفي بعنوان HTTP.
التعبير المنتظم عن التحقق من عنوان HTTP هو كما يلي (قد يكون هناك إغفالات أو غير دقيقة ، مرحبًا بك لتصحيحه):
نسخ رمز رمز على النحو التالي:
var reg =/(http: // | https: //) ((w wroads wbo = || ....... | && &-)+)/g ؛
يطابق الجزء السابق عنوان سلسلة عنوان URL في بداية HTTP أو HTTPS ، ويتم مطابقة الجزء الأخير مع بعض الأحرف والأحرف الإنجليزية والخطوط السفلية (_) و DOT (.) وعلامات الأسئلة (؟) والرقم المتساوي ( =) ، متصل بالمدى القصير (-) انتظر.
استبدل www.vevb.com
عندما يتعلق الأمر بوظيفة الاستبدال في JavaScript ، فإن أول ما يتبادر إلى الذهن هو سمة استبدالها بشكل طبيعي. على سبيل المثال ، نحتاج إلى استبدال المساحة في كلا طرفي السلسلة لاستخدام العبارة التالية:
نسخ رمز رمز على النحو التالي:
var s = "فارغة" ؛
s = s.replace (/^s+(.*؟) s+$/، "") ؛
التنبيه (s) ؛
سوف تحصل على "فارغ" ، وسيتم إزالة المساحة في كلا الطرفين. وبالمثل ، طالما تم استبدال عنوان HTTP المطابق بعنوان HREF الذي يحصل على تسمية.
على سبيل المثال ، يمكن أن يتطابق هذا التعبير مع عنوان عنوان URL لـ HTTP و HTTPS و FTP و FTPs و IP عناوين.
نسخ رمز رمز على النحو التالي:
var url =/https؟: 0-9]+)؟) ([W#!:.+= & ٪@!-/]+)؟/ig ؛
لا يزال عنوان عنوان URL كامل مطابقة. كتبت وظيفتين صغيرتين مع هذا التعبير واستبدلت عنوان URL لرسالة المستخدم إلى رابط قابل للنقر.
نسخ رمز رمز على النحو التالي:
/**
* نسخة Javascrip
* قم بتحويل عنوان عنوان URL إلى رمز ارتباط العلامة الكامل
*/
var replireurstolink = function (text) {
text = text.replace (url ، function (url) {
var urltext = url ؛
if (! url.match ('^https؟: //') {{
url = 'http: //' + url ؛
}
إرجاع '' + urltext + '' ؛
}) ؛
إعادة النص ؛
} ؛