Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<meta charset=utf-8>
<title>valid action</title>
<form action="a:foo.com"></form><!-- scheme-private -->
<form action="foo:/"></form><!-- scheme-private-slash -->
<form action="foo://"></form><!-- scheme-private-slash-slash -->
<form action="foo:/bar.com/"></form><!-- scheme-private-path -->
<form action="foo://///////"></form><!-- scheme-private-path-leading-slashes-only -->
<form action="foo://///////bar.com/"></form><!-- scheme-private-path-leading-slashes-chars -->
<form action="foo:////://///"></form><!-- scheme-private-path-leading-slashes-colon-slashes -->
<form action="c:/foo"></form><!-- scheme-private-single-letter -->
<form action="madeupscheme:/example.com/"></form><!-- scheme-private-single-slash -->
<form action="file:/example.com/"></form><!-- scheme-file-single-slash -->
<form action="ftps:/example.com/"></form><!-- scheme-ftps-single-slash -->
<form action="gopher:/example.com/"></form><!-- scheme-gopher-single-slash -->
<form action="ws:/example.com/"></form><!-- scheme-ws-single-slash -->
<form action="wss:/example.com/"></form><!-- scheme-wss-single-slash -->
<form action="javascript:/example.com/"></form><!-- scheme-javascript-single-slash -->
<form action="mailto:/example.com/"></form><!-- scheme-mailto-single-slash -->
<form action="madeupscheme:example.com/"></form><!-- scheme-private-no-slash -->
<form action="ftps:example.com/"></form><!-- scheme-ftps-no-slash -->
<form action="gopher:example.com/"></form><!-- scheme-gopher-no-slash -->
<form action="wss:example.com/"></form><!-- scheme-wss-no-slash -->
<form action="mailto:example.com/"></form><!-- scheme-mailto-no-slash -->
<form action="data:text/plain,foo"></form><!-- scheme-data-no-slash -->
<form action="http://user:pass@foo:21/bar;par?b#c"></form><!-- userinfo -->
<form action="http://[2001::1]"></form><!-- host-ipv6 -->
<form action="http://[2001::1]:80"></form><!-- host-ipv6-port -->
<form action="http://f:/c"></form><!-- port-none-but-colon -->
<form action="http://f:0/c"></form><!-- port-0 -->
<form action="http://f:00000000000000/c"></form><!-- port-00000000000000 -->
<form action="http://f:00000000000000000000080/c"></form><!-- port-00000000000000000000080 -->
<form action="http://a:b@c:29/d"></form><!-- userinfo-host-port-path -->
<form action="http://foo.com:b@d/"></form><!-- userinfo-username-non-alpha -->
<form action="http://foo/abcd?efgh?ijkl"></form><!-- query-contains-question-mark -->
<form action="http://foo/abcd#foo?bar"></form><!-- fragment-contains-question-mark -->
<form action="http://example.com/foo/%2e"></form><!-- path-percent-encoded-dot -->
<form action="http://example.com/%20foo"></form><!-- path-percent-encoded-space -->
<form action="http://example.com/©zbar"></form><!-- path-non-ascii -->
<form action="http://example.com/foo%41%7a"></form><!-- path-percent-encoded-multiple -->
<form action="http://example.com/foo%91"></form><!-- path-percent-encoded-u0091 -->
<form action="http://example.com/foo%00"></form><!-- path-percent-encoded-u0000 -->
<form action="http://example.com/%3A%3a%3C%3c"></form><!-- path-percent-encoded-mixed-case -->
<form action="http://example.com/你好你好"></form><!-- path-unicode-han -->
<form action="http://example.com//foo"></form><!-- path-uFEFF -->
<form action="http://example.com/‮/foo/‭/bar"></form><!-- path-u202E-u202D -->
<form action="http://💩"></form><!-- host-is-pile-of-poo -->
<form action="http💩//:foo"></form><!-- path-contains-pile-of-poo -->
<form action="http://example.com/foo?💩"></form><!-- query-contains-pile-of-poo -->
<form action="http://example.com/foo#💩"></form><!-- fragment-contains-pile-of-poo -->
<form action="http://192.0x00A80001"></form><!-- host-192.0x00A80001 -->
<form action="http://%25DOMAIN:foobar@foodomain.com"></form><!-- userinfo-username-contains-percent-encoded -->
<form action="http://@www.example.com"></form><!-- userinfo-empty -->
<form action="http://:b@www.example.com"></form><!-- userinfo-user-empty -->
<form action="http://a:@www.example.com"></form><!-- userinfo-password-empty -->
<form action="http://GOO​⁠goo.com"></form><!-- host-exotic-whitespace -->
<form action="http://www.foo。bar.com"></form><!-- host-exotic-dot -->
<form action="http://Go.com"></form><!-- host-fullwidth -->
<form action="http://你好你好"></form><!-- host-idn-unicode-han -->
<form action="http://192.168.0.257/"></form><!-- host-IP-address-broken -->
<form action="//foo/bar"></form><!-- scheme-schemeless-relative -->
<form action="/"></form><!-- path-slash-only-relative -->
<form action="/a/b/c"></form><!-- path-simple-relative -->
<form action="/a%2fc"></form><!-- path-percent-encoded-slash-relative -->
<form action="/a/%2f/c"></form><!-- path-percent-encoded-slash-plus-slashes-relative -->
<form action="?"></form><!-- query-empty-no-path-relative -->
<form action="#"></form><!-- fragment-empty-hash-only-no-path-relative -->
<form action="#/"></form><!-- fragment-slash-relative -->
<form action="#;?"></form><!-- fragment-semicolon-question-mark-relative -->
<form action=""></form><!-- fragment-non-ascii-relative -->
<form action="foo.com"></form><!-- scheme-none-relative -->
<form action=":"></form><!-- path-colon-relative -->
<form action=":a"></form><!-- path-leading-colon-letter-relative -->
<form action=":foo.com"></form><!-- path-leading-colon-chars-relative -->
<form action=":/"></form><!-- path-leading-colon-slash-relative -->
<form action=":#"></form><!-- path-leading-colon-hash-relative -->
<form action=":23"></form><!-- path-leading-colon-number-relative -->
<form action="/:23"></form><!-- path-slash-colon-number-relative -->
<form action="::"></form><!-- path-leading-colon-colon-relative -->
<form action="::23"></form><!-- path-colon-colon-number-relative -->
<form action="💩http://foo"></form><!-- path-starts-with-pile-of-poo -->
<form action="/💩"></form><!-- path-slash-pile-of-poo -->
<form action="File://foo/bar.html"></form><!-- scheme-file-uppercase -->
<form action="file://C|/foo/bar"></form><!-- scheme-file-slash-slash-c-bar -->
<form action="file://server/foo/bar"></form><!-- scheme-file-host-included -->
<form action="file:///foo/bar.txt"></form><!-- scheme-file-host-empty -->
<form action="file:"></form><!-- scheme-file-scheme-only -->
<form action="file:/"></form><!-- scheme-file-slash-only -->
<form action="file://"></form><!-- scheme-file-slash-slash-only -->
<form action="file:///"></form><!-- scheme-file-slash-slash-slash-only -->
<form action="file:test"></form><!-- scheme-file-no-slash -->