nn 35a927ef98 迁移校园资讯游览器客户端 8 years ago
..
.gitmodules 35a927ef98 迁移校园资讯游览器客户端 8 years ago
.npmignore 35a927ef98 迁移校园资讯游览器客户端 8 years ago
.travis.yml 35a927ef98 迁移校园资讯游览器客户端 8 years ago
.zuul.yml 35a927ef98 迁移校园资讯游览器客户端 8 years ago
AUTHORS 35a927ef98 迁移校园资讯游览器客户端 8 years ago
Changelog.md 35a927ef98 迁移校园资讯游览器客户端 8 years ago
LICENSE.md 35a927ef98 迁移校园资讯游览器客户端 8 years ago
README.md 35a927ef98 迁移校园资讯游览器客户端 8 years ago
index.js 35a927ef98 迁移校园资讯游览器客户端 8 years ago
package.json 35a927ef98 迁移校园资讯游览器客户端 8 years ago
test.js 35a927ef98 迁移校园资讯游览器客户端 8 years ago

README.md

sanitize-filename build status

Sanitize a string to be safe for use as a filename by removing directory paths and invalid characters.

Install

npm: sanitize-filename

npm install sanitize-filename

Example

var sanitize = require("sanitize-filename");

// Some string that may be unsafe or invalid as a filename
var UNSAFE_USER_INPUT = "~/.\u0000ssh/authorized_keys";

// Sanitize the string to be safe for use as a filename.
var filename = sanitize(UNSAFE_USER_INPUT);
// -> "~.sshauthorized_keys"

Details

sanitize-filename removes the following:

  • Control characters (0x00–0x1f and 0x80–0x9f)
  • Reserved characters (/, ?, <, >, \, :, *, |, and ")
  • Unix reserved filenames (. and ..)
  • Trailing periods and spaces (for Windows)
  • Windows reserved filenames (CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9)

The resulting string is truncated to 255 bytes in length. The string will not contain any directory paths and will be safe to use as a filename.

Empty String "" Result

An empty string "" can be returned. For example:

var sanitize = require("sanitize-filename");
sanitize("..")
// -> ""

Non-unique Filenames

Two different inputs can return the same value. For example:

var sanitize = require("sanitize-filename");
sanitize("file?")
// -> "file"
sanitize ("*file*")
// -> "file"

File Systems

Sanitized filenames will be safe for use on modern Windows, OS X, and Unix file systems (NTFS, ext, etc.).

FAT 8.3 filenames are not supported.

Test Your File System

The test program will use various strings (including the Big List of Naughty Strings) to create files in the working directory. Run npm test to run tests against your file system.

API

sanitize(inputString, [options])

Sanitize inputString by removing or replacing invalid characters.

Options:

  • options.replacement: A string to replace invalid characters with. Optional. Default: "".