1. sanitize-filename
Sanitize a string for use as a filename
sanitize-filename
Package: sanitize-filename
Created by: parshap
Last modified: Sun, 26 Jun 2022 15:55:05 GMT
Version: 1.6.3
License: WTFPL OR ISC
Downloads: 7,231,612
Repository: https://github.com/parshap/node-sanitize-filename

Install

npm install sanitize-filename
yarn add sanitize-filename

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 (0x000x1f and 0x800x9f)
  • 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: optional, string/function, default: "". If passed
    as a string, it's used as the replacement for invalid characters. If passed as
    a function, the function will be called with the invalid characters and it's
    return value will be used as the replacement. See String.prototype.replace
    for more info.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code