URLで使用可能な文字、使用できない文字

URLで使用できる文字、できない文字、使用できないパターンを紹介します。
URLの検出や正規表現での記載方法はこちらの記事を参照してください。

概要

URLで利用できる文字は、RFC2396 と RFC3986 に定義されていますが、定義が微妙に違います。

RFC2396

使用可能な文字

  • アルファベット A-Z a-z
  • 数字 0-9

使用可能な記号 (RFC2396 の mark)

  • -
  • _
  • .
  • !

  • *
  • '
  • (
  • )
補足
*はファイル名やディレクトリ名に * を使用できないため実質的には使用不可

区切り文字として除外されているもの (RFC2396 の reserved)

以下の文字は使用できません
  • <
  • >
  • #
  • "
  • %
"#"はURI参照として、"%"はエスケープ用文字として使われます。

除外されている記号 (RFC2396 に定義がないもの)

以下の文字は使用できません。
  • {
  • }
  • |
  • \
  • ^
  • [
  • ]

RFC3986

予約文字

URIで予約されている文字 (URI)

  • :
  • ?
  • #

queryで予約されている文字 (query)

  • /
  • ?

pcharで予約されている文字 (pchar)

  • :
  • @

エンコード用に予約されている文字 (pct-encoded)

  • %

デリミタとして予約されている文字 (sub-delims)

  • !
  • $
  • &
  • '
  • (
  • )
  • *
  • +
  • ,
  • ;
  • =

非予約文字 (利用可能文字) (unreserved)

  • アルファベット A-Z a-z
  • 数字 0-9
  • -
  • .
  • _

使用可能な文字

RFC2936とRFC3986をまとめ、かつ、. はファイルの拡張子として利用され ~ はユーザーディレクトリを示す文字を表すことを考慮すると、 実質利用できる文字は次の通りです。
  • アルファベット A-Z a-z
  • 数字 0-9
  • -
  • _
補足
( ) ' は、RFC2396では利用できますが。、RFC3986 では予約文字となり利用できない記号になります。

著者
iPentec Document 編集部
iPentec Document 編集部です。
快適な生活のための情報、価値のある体験やレビューを提供します。
掲載日: 2013-01-11
iPentec all rights reserverd.