Angular 7输入框pattern正则不生效,需实现大小写不敏感匹配
解决Angular 7 matInput正则校验大小写不敏感问题
要让正则校验对"demo case"的任意大小写组合生效,只需给正则添加不区分大小写的内联修饰符(?i),修改后的配置如下:
修改后的正则配置
field: { "pattern": "(?i)^(?!.*demo case).*$" }
对应的模板代码(无需修改)
<input matInput spellcheck="false" [formControlName]="field.key" [id]="field.key" type="text" [pattern]="field.pattern" >
说明
(?i):内联修饰符,开启整个正则的大小写不敏感匹配模式,"Demo Case"、"DEMO CASE"等任意大小写组合都会被拦截。- 简化后的正则
^(?!.*demo case).*$比原写法更高效,作用是匹配不包含任意大小写"demo case"的所有文本。
内容的提问来源于stack exchange,提问作者Kundan SIngh
相关产品推荐
相关产品推荐

