Сведения о вопросе

nikolya

05:57, 3rd August, 2020

Нужна помощь с регуляркой — валидация всевозможных адресов (URL)?

Просмотров: 389   Ответов: 2

Здравствуйте!


У меня есть вот такая регулярка, которая со своей работой еще недавно справлялась на ура:
~^

# scheme
[-a-z0-9+.]++://

# username:password (optional)
(?:
        [-a-z0-9$_.+!*\'(),;?&=%]++   # username
    (?::[-a-z0-9$_.+!*\'(),;?&=%]++)? # password (optional)
    @
)?

(?:
    # ip address
    \d{1,3}+(?:\.\d{1,3}+){3}+

    | # or

    # hostname (captured)
    (
            (?!-)[-a-z0-9]{1,63}+(?<!-)
        (?:\.(?!-)[-a-z0-9]{1,63}+(?<!-)){0,126}+
    )
)

# port (optional)
(?::\d{1,5}+)?

# path (optional)
(?:/.*)?

$~iDx



Но, как многие уже, наверное, слышали, у нас появился потрясающий домен.РФ

Буду премного благодарен за аналогичную регулярку (которая валидирует не только http(s)://сайт(точка)домен — таких и в гугле навалом), которая также пропустит и правильно написанные русскобуквенные адреса.



  Сведения об ответе

LIZA

19:48, 18th August, 2020

переводите в punycode и валидируйте


  Сведения об ответе

+-*/

12:09, 23rd August, 2020

Не по теме конечно =) Но добавлю этот вопрос в избранное, и буду всех и каждого тыкать носом, как надо оформлять регулярки :)


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться