const regex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[\w!@#$%]{6,}$/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[\\w!@#$%]{6,}$', 'gm')
const str = `INVALID:
abcdefg
abc
abcdefghji
abCDEFghij
1234efghij
abcde6789
ab!67fghij
ab)=
VALID:
8vB0k3XiLp
VvsfM5he#X
d10STfJ\$gA
R1cIX7mn8T
6EDNTbda%z
IKkED0#zYS
1S#9duFcHe
KP1fN3jTwJ
iRS1YB@nfI
Vp1yRxwuGD
fajT2ukURg
9tY8#HkojR
@LHTbA3C7J
%HLK6EqANV
#vZR6in5KJ
!WwjH3K65v
%5WOIrCv@R
emfpLRE5oD
zREw13rcJn
#NU42oxYa0
\$oujwK%xR7
1YH#uOFQlV
L936DS2ynR
ab4RAVCZHv
9xwiZmDSAd
eZjPHg3B8i
OANw!p8yxH
J6efM@hxNz
qvmefZI3Wn
fH9wXGK8ZI
eHcl3qRYGS
i8we0zpOvr
1kpSFgeIKA
p8eM@FtZ9n
rj95zq!E3I
lkDKt@486w
7!j50lyxgB
%vBCxLq6Ym
@ky\$u9iSGm
%QD9jA6Lm@
JolTzf7gUr
cSRe%v46Or
oJVlc#Gdn3
G!%NF0XESp
76dMFmbf%X
3JQlSRiXLj
Y\$!%WCgti0
D1k\$#ThiqG
M6tPY\$XzQp
@gUcrWm7zA
1xc#hwGj0D
s8p#S\$ZkWP
sIP3dQL#4j
bBLEnvlFI3
isSeP4AC%w
1OsdI4iCjR
@p#qm\$NA9Z
guPjtIp5!i
a84ONQRZXY
homJ9T6w80
\$!uh09kaUO
CTIX7vsalJ
2CASR7IUyY
Tr1jl!oKPF
2%ar6kMCZe
m4TrLJC!cD
3E#mZ!jrdn
oZIa\$xmDU8
9wXxBaJAyz
0%dNQfyr\$e
ez#IcxH8SX
MF\$m6wile%
ilo3FURh9t
d71hgGe5Vo
KEr9u7CRtP
CfUE4Fj\$Ju
aXSG5wIQor
VTk2fmDlbx
GHxBwpt0dN
mYS2Q1zFi!
qD0KiayFz4
hT9FrGQ\$dS
5eKrEvnBZA
gA\$fXPUd2#
Eoz8uqBART
7wKEo6jJGX
1p4Zj7Ssk2
K#MX8Q61dr
L%S2Kh7Q@r
fwD6zy\$NM@
zyJPri5u7N
MyAI!j2iz%
9blWdD5!w@
iw6Ef3dBLk
JMYD1iHol2
#M1OUJ0VDi
e@78BCHLI%
oeD1F!4ifz
pCblno9zyJ
FJKErsBTp6`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions