проверка и исправление javascript url

0

Я разрешаю своим пользователям вставлять URL-адрес веб-сайта.

Как вы все знаете, некоторые люди совершенно бесполезны, вводя что-либо на вход, без каких-либо проверок.

Я хочу сделать тест на введенном пользователем URL-адресе, проверить, действительно ли он, и если нет, отредактируйте его автоматически с помощью javascript, прежде чем показывать его публике.

Пример пользовательских URL:

  • http://google.com
  • www.google.com
  • google.com
  • HTTP//google.com
  • HTP: /google.com
  • ++++++++

var web = user.url;

var urlCheck = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;

if(web){
    if(urlCheck.test(web) === false) {
        web = "http://" + web;
    }

    $('div.Link').html("<a href=\"javascript:void(0);\" onclick=\"externalLink('" + web + "');\">" + web + "</a>");
}

Предложения по еще лучшей проверке/тесту, чтобы избежать проблем?

  • 3
    О, ирония. Упоминает, что пользователи «вводят все, что вводят, без какой-либо проверки.», Даже не проверяют, правильно ли форматируется его собственный вопрос;) (да, кто-то еще исправил это)
  • 0
    хаха ... ну вот, мой вопрос абсолютно актуален :)
Теги:

1 ответ

2
Лучший ответ

Попробуй это

function is_valid_url(url)
{
     return url.match(/^(ht|f)tps?:\/\/[a-z0-9-\.]+\.[a-z]{2,4}\/?([^\s<>\#%"\,\{\}\\|\\\^\[\]']+)?$/);
}

Вызовите is_valid_url(YOUR_WEBSITE_URL) любом месте, где is_valid_url(YOUR_WEBSITE_URL) проверка URL-адреса, и она вернет true или false

Источник

Ещё вопросы

Сообщество Overcoder
Наверх
Меню