什么字符在URL中有效?

可能重复:
哪些字符使url无效?

我试图删除一个大string的非URL部分。 我发现的大多数正则expression式都像[A-Za-z0-9-_.!~*'()] ,但是url还可以包含更多的东西。 像http://127.0.0.1:8080/test?v=123#this例如

那么有效的URL最新的字符是什么?

编辑:

他们似乎是:

A-Za-z0-9 -._〜:/?#[] @!$&'()* +,; =和%后跟hex值

所有的细节都可以在RFC的主题中find: RFC 3986(统一资源标识符(URI):通用语法)

根据这个相关的答案 ,你正在看一个列表,看起来像: AZaz0-9-._~:/ ?#[]@ !$&'()*+ ; ,和= 。 其他一切都必须进行url编码 。 此外,这些字符中的某些字符只能存在于URI中的特定位置,RFC具有所有这些特性。