我正在尝试对文本输入进行一些限制。
我希望它只接受:
所以我向输入声明了一个带有正则表达式模式的验证器,如下所示:
this.form.addControl('adresseLine2', new FormControl('', Validators.pattern(PatternValidatorEnum.ADRESS_CONTENT)));
而ADRESS_CONTENT
正则表达式如下:
ADRESS_CONTENT = '^[A-Za-z0-9\',\-àâçèéêîôùû ]*$'
它似乎工作正常,但是,当我有大写重音字符时,输入保持有效,例如: É
我希望它只接受小写的重音字符 ( àâçèéêîôùû
)
并且根据https://regex101.com/r/6vyA8H/1:dsdséàê ké
应该是有效的输入,但dsdséàê kÉ
不应该。
但是,对于我的输入,两者都被认为是有效的。
此外,我的输入接受诸如.
, 之类的字符;
,/
当它不应该根据正则表达式时。
我错过了什么?此外,我的正则表达式中可能忘记了某些情况。
这里的问题不是您的表达式,而是您使用Validators.Pattern()
字符串而不是RegExp
类型,将表达式从
'^[A-Za-z0-9\',\-àâçèéêîôùû ]*$'
到
/^[A-Za-z0-9\',\-àâçèéêîôùû ]*$/
将解决问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句