Какое правильное регулярное выражение проверяет полное доменное имя на C# и Javascript? Я искал все вокруг, и я нахожу разные спецификации. Какой из них правильный.Регулярное выражение для проверки полного доменного имени в C# и Javascript
Несколько примеров я нашел:
1.(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$)
2. (?=^.{1,254}$)(^(?:(?!\d|-)[a-zA-Z0-9\-]{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$)
3. \b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b
(Regular Expression cook book)
Пожалуйста, помогите
[RFC 1035.] (http://tools.ietf.org/html/rfc1035), http://blog.gnukai.com/2010/06/ fqdn-regular-expression/ – Andreas
@ Andreas: thank u. Я это видел. Он говорит: «Единственное отклонение от правил RFC, которые я делаю, является дополнительным правилом, согласно которому домен верхнего уровня (часть, которая приходит после последнего«. ») Должна быть только символами и должна быть 2 или более (.com,. net, .org, .eu, .uk, ect). Я не могу найти, где это документировано ». Не уверен, что это правильно. – Shetty
Из [RFC 920] (http://tools.ietf.org/html/rfc920) - TLD Reqs: ARPA, GOV, EDU, COM, MIL, ORG или английский код страны с двумя буквами. Таким образом, это похоже на действующее расширение/модификацию. – Andreas