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.

有帮助吗?

解决方案 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}$

其他提示

Use an anchored negative look ahead:

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

See a live demo

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top