UTF-8の範囲内でランダムな文字列を生成。
- サロゲートペア | ウィキペディアには非対応
次のリンクからアクセスしてください。
import { randomString } from "@rksan/random-string";
const str = randomString(16);
console.log(`randam string is "${str}"`);
- Node.js - v18.x
npm i -D @rksan/random-string
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 } ]
}
)
生成する文字列の長さ
@type
number
生成する文字列のオプション
@type
{ src?: object, exclude?: object }
生成される文字列のソース
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",
},
],
});
生成される文字列から除外する文字
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: "`",
},
],
});
ランダムな文字列
@type
{string}
@rksan https://github.com/rksan | github
MIT