JSFiddle - React, Tailwind, and code Playground
JavaScript
var re = /^[0-9a-zA-Z`!"?$%\^&*()_\-+={\[}\]:;@~#|<,>.'\/\\]+$/;
var n = 10000,
passLength = 12,
failCount = 0;
for (var i = 0; i < n; i++) {
if (!re.test(randomId(passLength))) {
failCount++;
}
}
console.log(failCount);
function randomId(length, dictionary) {
length = length || 6;
var dictionary = dictionary || 'abcdefghijklmnopqrtsuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`!"?$%^&*()_-+={[}]:;@~#|<,>.\'/\\',
dictionarySize = dictionary.length,
random = '';
for (var i = 0; i < length; i++)
random += dictionary.charAt(Math.floor(Math.random() * dictionarySize));
return random;
}