Reputation: 17
I need RegExp for username input to allow maximum 3 capital letters.
asdFasdFasdF - pass
FFFasd - pass
asdFFF - pass
aFFsdF - pass
asd - pass
FFFF - fail
asdFadsFFF - fail
You get what I want.
Please help as I am stuck with this for a long time.
I tried this (?=(.*?[A-Z]){0,3})
but fails and maybe I don't need lookahead.
Upvotes: 1
Views: 100
Reputation: 424983
Use an anchored negative look ahead:
^(?!(.*?[A-Z]){4}).*$
See a live demo
Upvotes: 1
Reputation: 170148
For ASCII only, try this:
^([^A-Z]*[A-Z]?[^A-Z]*){0,3}$
For Unicode uppercase, try this:
^([^\p{Lu}]*\p{Lu}?[^\p{Lu}]*){0,3}$
Upvotes: 0