2015-07-22 4 views
2

Я хочу проверить доменное имя (только), которое будет введено в текстовое поле.Проверка имени домена с использованием регулярного выражения

Критерии приемлемости:

abc.com 
abc.in 
abc.pqr.com 
abc.com/xyz 
abc.com/xyz/pqr 
no.matter.how-many.domain-name.com/anything 

Отклонить:

http://example.com 
(anything preceding with http:// or https:// or ftp://) 
abc.com//// 
abc.com///xyz 
.....likewise 

меня/попытался это:

^[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.?)^[a-z0-9]?$/i 

Но он не принимает: abc.com/xyz или abc.com/ (то есть в моих критериях приемлемости)

(После этого) также попытался это:

/([\w-]+\.)+[\w-]+[.com|.in|.org]+(\[\?%&=]*)?/

Это преодолеть вышеупомянутую проблему, Но также принять как: http://example.com(то есть в моем отклонять критерии)

Я не более липким d в регулярных выражениях, поэтому будет регулярным выражением для вышеприведенного сценария. (Любые изменения, мне нужно в существующем коде?)

+0

ли вы какие-либо поиск? Например. http://stackoverflow.com/questions/13027854/javascript-regular-expression-validation-for-domain-name – Ginden

+0

Посещаемый/Поиск, Он не позволяет мне вводить вот так: 'abc.com /' – VBMali

+0

Он работает одинаково например: '^ [a-z0-9] + ([\ - \.] {1} [a-z0-9] +) * \. [az] {2,5} (: [0-9] { 1,5})? (\ /.?)^[A-z0-9]? $/I' – VBMali

ответ

0

Это решает мою проблему:

^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})(\/(?:[\/\w \.-]*)*\/?)?([\/?#].*)? 

This Article помогает.

Редактировать: Не работает. Кроме того, принимая ..com и example.com/////abc

+1

Как насчет '..com'? ;). –

+0

Ufff ..... !!! Я застрял здесь ..... !!! Не собираюсь работать это ... !!!! Кто-нибудь здесь, чтобы предложить правильный? – VBMali

0

Попробуйте это:

/^[\w\-]+\.\w[\w\-\.]*((\/\w+)*|\/)$/igm 

Regex Demo

+1

Неправильно.Дает ошибку, когда: 'abc.com' – VBMali

-1

Это было лучшее, что я мог придумать. Не действительно проверить это слишком много

^((?:[^:\/\.\s]+\.)+[^:\/\.\s]+(?:(?:\/[^:\/\.\s]+)*))$

regex101

Смежные вопросы