I have this ^[a-zA-Z0-9 @&$]*$
, but not working for me in few cases.
If someone types
1234567
) &123abc
) need to be rejected. Note that a special char can be in the middle and at the end.
You seem to need to avoid matching strings that only consist of digits and make sure the strings start with an alphanumeric. I assume you also need to be able to match empty strings (the original regex matches empty strings).
That is why I suggest
^(?!\d+$)(?:[a-zA-Z0-9][a-zA-Z0-9 @&$]*)?$
See the regex demo
Details
^
- start of string (?!\\d+$)
- the negative lookahead that fails the match if a string is numeric only (?:[a-zA-Z0-9][a-zA-Z0-9 @&$]*)?
- an optional sequence of:
[a-zA-Z0-9]
- a digit or a letter [a-zA-Z0-9 @&$]*
- 0+ digits, letters, spaces, @
, &
or $
chars $
- end of string.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.