【发布时间】:2023-04-01 19:14:01
【问题描述】:
我一直在研究 angularJs ng-pattern 的正则表达式问题,需要:
- 不能为空格
- 最少 1 个字符,最多 32 个字符
- 不允许使用空格
- 可接受的特殊字符(!@#$%&*-+=[]:;',.?)
- 答案不区分大小写
- 不允许组合
- 应修剪答案开头和结尾的空格。
这是我的解决方案,涵盖了除第 6 项以外的所有要求:
([^a-zA-Z0-9!@#$%& *+=[\]:;',.?-])|(^\s*$)
你们有什么想法吗?
【问题讨论】:
-
你能解释一下“5. 答案不区分大小写”是什么意思吗?
-
我认为你需要
/^(?!\s*$)(?:(?!&#)[a-zA-Z0-9!@#$%&*+=[\]:;',.?\s-]){1,32}$/。但是,我不知道您的要求是什么。 7 的意思。ng-pattern不修剪输入文本。 -
我唯一想不通的是#6 req。我可以做'string'.trim() 来处理#7。对于 #5,a-zA-Z 涵盖了这一点。
-
天哪,效果很好。谢谢你,维克托。所以,把?!开头的意思是匹配否定?
标签: angularjs regex angularjs-ng-pattern