I've been working on a regex problem for angularJs ng-pattern which needs:
- Cannot be blanks
- A minimum of 1 character and a maximum of 32 characters
- Spaces ONLY are not allowed
- Acceptable special characters(!@#$%&*-+=[]:;',.? )
- The answer is not case sensitive
- Combination of &# is not allowed
- Spaces at the beginning and the end of the answer should be trimmed.
This is my solution which covers all requirement but 6th:
([^a-zA-Z0-9!@#$%& *+=[\]:;',.?-])|(^\s*$)
Do you guys have any ideas?
You may use
See the regex demo.
Details
^
- start of string(?!\s*$)
- no 0+ whitespaces from start till end of string allowed(?!.*&#)
- no&#
allowed after any 0+ chars[a-zA-Z0-9!@#$%&*+=[\]:;',.?\s-]{1,32}
- 1 to 32 allowed chars: ASCII digits, letters, whitespaces and some punctuation/symbols$
- end of string.