私はFirefox向けにTab Session Managerという拡張機能を作っています。これは開いているセッションを保存・復元するアドオンで,機能の一つとして保存されたセッションをファイルに書き出してバックアップを保存するオプションがあります。以前は保存場所を特定のフォルダに固定していたのですが,この度保存フォルダを文字列で指定できるオプションを実装することにしました1。 フォルダ名をユーザに入力させる上で考えなければいけないことは,フォルダ名には使用できない文字列があるということです。この記事では,フォルダ名として不正な文字列が入力されたときにいい感じに変換する方法を説明します。 前提 ユーザは拡張機能の設定ページからこのようなフォームに入力します。 ここに入力されたフォルダ名を指定してファイルの保存処理を行うわけですが,例えばfolder?と入力されると保存処理はエラーを吐きます。