我一直在研究 angularJs ng-pattern 的正则表达式问题,需要:
- 不能为空格
- 最少 1 个字符,最多 32 个字符
- 只有空格是不允许的
- 可接受的特殊字符(!@#$%&*-+=[]:;',.?)
- 答案不区分大小写
- 不允许 的组合
- 应修剪答案开头和结尾的空格。
这是我的解决方案,它涵盖了除第 6 项之外的所有要求:
([^a-zA-Z0-9!@#$%& *+=[\]:;',.?-])|(^\s*$)
你们有什么想法吗?
我一直在研究 angularJs ng-pattern 的正则表达式问题,需要:
这是我的解决方案,它涵盖了除第 6 项之外的所有要求:
([^a-zA-Z0-9!@#$%& *+=[\]:;',.?-])|(^\s*$)
你们有什么想法吗?
您可以使用
/^(?!\s*$)(?!.*&#)[a-zA-Z0-9!@#$%&*+=[\]:;',.?\s-]{1,32}$/
请参阅正则表达式演示。
细节
^
- 字符串的开始(?!\s*$)
- 从字符串开始到结尾不允许有 0+ 个空格(?!.*&#)
-&#
任何 0+ 字符后都不允许[a-zA-Z0-9!@#$%&*+=[\]:;',.?\s-]{1,32}
- 1 到 32 个允许的字符:ASCII 数字、字母、空格和一些标点/符号$
- 字符串结束。