修复URL输入中错误的服务器方案

时间:2012-07-08 07:14:58

标签: regex url

我接受来自表单的网址输入,但有些网址格式不正确(不要问):

http:/www.foo.com
ftp:/ftp.bar.com
scp:/meh.foobar.com

我想要做的是检测是否只存在一个正斜杠并添加第二个正斜杠。

我从来没有擅长正则表达式,所以我尝试使用substr和parse_url的组合来挑选出该方案,然后将其剥离。但它有点混乱并剥离了有效的URL,在方案中添加了三个///,并在某些情况下从主机名中取出了字母。

请帮助:)

1 个答案:

答案 0 :(得分:1)

使用此正则表达式:'.*:/[a-zA-Z].*'

它将匹配:

http:/www.foo.com
ftp:/ftp.bar.com
scp:/meh.foobar.com

并且与以下内容不匹配:

http://www.foo.com
ftp://ftp.bar.com
scp://meh.foobar.com

然后使用替换替换您的无效字符(我不知道您使用的是哪种语言):

url = myUrl.replace(url,':/','://')