Skip to content

rksan/random-string

Repository files navigation

Coverage Status

random-string

overview

UTF-8の範囲内でランダムな文字列を生成。

Demo

次のリンクからアクセスしてください。

random-string | Github Pages

Usage

import { randomString } from "@rksan/random-string";

const str = randomString(16);

console.log(`randam string is "${str}"`);

Requirement

  • Node.js - v18.x

Install

npm i -D @rksan/random-string

syntax

const str: string = randomString(
  length: number,
  options?: {
    src?: string
     | {start: string, end: string}
     | [{ start: string, end: string }],
    exclude?: string
     | { start: string, end: string }
     | [ { start: string, end: string } ]
  }
)

arguments

length

生成する文字列の長さ

@type number

options?

生成する文字列のオプション

@type { src?: object, exclude?: object }

options?.src?

生成される文字列のソース

UTF8コードの範囲で、必ず src.start <= src.end にする必要がある

@type string | { start: string, end: string } | Array<{ start: string, end: string }>

  • string : 指定された文字列のみを使用する
  • { start, end } : startからendまでのUTF8コード範囲内にある文字の全てを使用する
  • Array<{start, end}> : 1文字を出力する都度、渡されたArrayからランダムに{start, end}を取得し、取得したstartからendまでのUTF8コード範囲内にある文字の全てを使用する

@default { start: "!", end: "~" }

exp.

// Not specified
const str = randomString(8);

// Specified by String
const str = randomString(8, {
  src: "0123456789",
});

// Specified by Object
const str = randomString(8, {
  src: {
    start: "a",
    end: "z",
  },
});

// Specified by Object array
const str = randomString(8, {
  src: [
    {
      start: "0",
      end: "9",
    },
    {
      start: "A",
      end: "Z",
    },
    {
      start: "a",
      end: "z",
    },
  ],
});
options?.exclude

生成される文字列から除外する文字

UTF8コードの範囲で、必ず exclude.start <= exclude.end にする必要がある

@type {string | {start: string, end: string} | [{start: string, end: string}]}

  • string : 指定された文字列は除外される
  • {start, end} : 指定されたstartからendまでのUTF8文字は全て除外される
  • Array<{start, end}> : 配列として指定された全てのstartからendまでのUTF8文字は全て除外される

@default undefined

exp.

// Not specified
const str = randomString(8, {
  src: {
    start: "0",
    end: "z",
  },
});

// Specified by String
const str = randomString(8, {
  src: {
    start: "0",
    end: "z",
  },
  exclude: ":;<=>?@[\\]^_`",
});

// Specified by Object
const str = randomString(8, {
  src: {
    start: "0",
    end: "Z",
  },
  exclude: {
    start: ":",
    end: "@",
  },
});

// Specified by Object array
const str = randomString(8, {
  src: {
    start: "0",
    end: "z",
  },
  exclude: [
    {
      start: ":",
      end: "@",
    },
    {
      start: "[",
      end: "`",
    },
  ],
});

return

str

ランダムな文字列

@type {string}

Reference

Author

@rksan https://github.com/rksan | github

Licence

MIT