jQuery RegEx. If string contains any character except

Viewed 1936

I've got this RegEx which is used to validate what the user enters

It must be a value 8 - 16 characters long and can contain ONE of the certain special characters.

/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[:;#~]).{8,16}$"

I'm not trying to show an alert if the user enters something that doesn't match the above. So a-z, A-Z, 0-9 and :;#~ are allowed but anything else shows an alert.

So Abcd1234# is OK, but if they enter Abcd1234!$ if will show the alert as ! & $ are not in the match.

I've tried adding ^ to the start of character match to try and negate them, but that didn't work.

What's the best way to do this?

1 Answers
Related