регулярное выражение для проверки URL - PullRequest
2 голосов
/ 27 декабря 2010

В: Я хочу, чтобы регулярное выражение проверяло URL, но я хочу разрешить этому символу (~) тильду

что-то вроде этого URL:

http://stackoverflow.com/questions/~/ разрешая http или без http

заранее спасибо

EDIT

Наконец-то я нашел идеальный: (http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])? но я хочу позволить пользователю вводить URL с протоколом или без него, чтобы избежать путаницы, как это сделать.

Ответы [ 4 ]

2 голосов
/ 27 декабря 2010

Чтобы разрешить непоследовательные тильды:

\w+([-+.'~]\w+)*

Чтобы разрешить тильды в любом месте:

[\w~]+([-+.'][\w~]+)*
1 голос
/ 27 декабря 2010

Существует очень хороший сайт регулярных выражений здесь , где вы можете получить практически любые регулярные выражения. Думаю, это было бы полезно для вас.

1 голос
/ 27 декабря 2010

Я не уверен, чего ты хочешь.Но

\w+([~'\.]\w+)+

Действителен для

justname'com
just_name~com
justname.com

Недействителен для

justname
just-name-com

Если вы используете

\w+([~]?)\w+\.\w+

Действителен для

justname.com
just~name.com

Недействительно для

justname'com
just_name~com
just-name-com
1 голос
/ 27 декабря 2010

вы можете попробовать это:

\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]

если вам не нужны HTTP, FTP ... вы можете снять его как:

\b[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]

С уважениемНТН.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...