问:我想要一个正则表达式来验证URL,但我想允许这个字符(〜)Tilda
类似这样的网址:
http://stackoverflow.com/questions/~/
允许http
或不允许http
提前致谢
修改:
我终于找到了一个完美的:
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
但我想允许用户使用协议输入网址或不使用它以防止任何混淆如何做到这一点。
答案 0 :(得分:2)
允许非连续的波浪:
\w+([-+.'~]\w+)*
允许任何地方倾斜:
[\w~]+([-+.'][\w~]+)*
答案 1 :(得分:1)
你可以试试这个:
\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]
如果你不需要HTTP,FTP ......你可以把它当作:
\b[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]
此致 HTH。
答案 2 :(得分:1)
我不确定你想要什么。但是
\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
答案 3 :(得分:1)
有一个非常好的正则表达式网站here,您可以在其中获得几乎所有正则表达式。认为这对你有用。