Question

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.

Was it helpful?

Solution 2

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}$

OTHER TIPS

Use an anchored negative look ahead:

^(?!(.*?[A-Z]){4}).*$

See a live demo

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top