Public
Edited
Apr 7, 2023
1 fork
2 stars
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// [[RegExp,poolsize]]
tests = [
[/(?=.*[a-z])/, 26], // Lowercase letters
[/(?=.*[A-Z])/, 26], // Uppercase letters
[/(?=.*[0-9])/, 10], // Digits
[/(?=.*[^A-Za-z0-9])/, 32] // Special characters
]
Insert cell
Insert cell
= (password, tests) =>
tests.reduce((ΣR, rP) => ΣR + rP[0].test(password) * rP[1], 0)
Insert cell
Insert cell
Insert cell
// [[Entropy Threshold,emoji]]
emojis = [
[130, "😅"],
[60, "😁"],
[30, "🙂"],
[25, "😐"],
[15, "😟"],
[0, "😨"]
]
Insert cell
Insert cell
regExpToTestforSpecificEmojis = new RegExp(
`[` + emojis.map(([, emoji]) => emoji).join(`|`) + `]`
)
Insert cell
Insert cell
viewof selectedEmoji = Inputs.radio(
emojis.map(([_, emoji]) => emoji).concat("🤔"),
{ label: "Select emoji to test", value: emojis[0][1] }
)
Insert cell
Insert cell
Insert cell
selectedEmoji.length
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more