Проверить URL-адрес с помощью javascript и php

Я просто хочу проверить URL-адрес, как для следующих форматов: http://www.XYZ.com и www.XYZ.com. Я хочу, чтобы этот скрипт проверки также работал в Javascript и PHP. Заранее спасибо.

php,javascript,

0

Ответов: 3


3

Regex как чемпион.

Вы можете написать его сами, вот краткий пример:

(https?://)?.+$

Маленький поисковик нашел меня чем-то более конкретным, с точки зрения более строгого подтверждения:

^(https?://)?(([0-9a-z_!'().&=$%-]: )?[0-9a-z_!'().&=$%-]@)?(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-z_!'()-].)([0-9a-z][0-9a-z-]{0,61})?[0-9a-z].[a-z]{2,6})(:[0-9]{1,4})?((/?)|(/[0-9a-z_!*'().;?:@&=$,%#-])/?)$

Источник: http://www.geekzilla.co.uk/view2D3B0109-C1B2-4B4E-BFFD-E8088CBC85FD.htm (Очевидно, протестируйте скопированное и вставленное регулярное выражение, как и с любым скопированным кодом)

Если вы не знаете, как использовать регулярные выражения в PHP, это так же просто, как:

$valid = preg_match($pattern, $urlOrStringToValidate);

где $ pattern = "/(https?://)?.+/" или что-то в этом роде между / и /

Javascript имеет метод объекта, называемый match для типа String.

var urlString = "http://www.XYZ.com";
var isValidURL = urlString.match(/(https?://)?.+/);

3

Для этого вам лучше всего использовать регулярное выражение. Что-то вроде этого:

^((ht|f)tp(s?)://|~/|/)?([w]+:w+@)?([a-zA-Z]{1}([w-]+.)+([w]{2,5}))(:[d]{1,5})?((/?w+/)+|/?)(w+.[w]{3,4})?((?w+=w+)?(&w+=w+)*)?

Вы можете использовать регулярные выражения в PHP, используя preg_matchфункцию и в JavaScript, используя эту match()функцию.

Например (Javascript).

function validateUrl(url)
{
    var pattern = '^((ht|f)tp(s?)://|~/|/)?([w]+:w+@)?([a-zA-Z]{1}([w-]+.)+([w]{2,5}))(:[d]{1,5})?((/?w+/)+|/?)(w+.[w]{3,4})?((?w+=w+)?(&w+=w+)*)?';

    if(url.match(pattern))
    {
        return true;
    }
    else
    {
        return false;
    }
}

1

Используйте Jquery validator .

PHP, JavaScript,
Похожие вопросы