问题描述
我正在用邮政编码控制来处理响应式表单,它只允许+
和#
一起使用数字。控件的最大长度为10。即使输入了仍然显示错误的有效值,我也尝试了以下代码。
ts
postalCode: ['',{
validators: [
Validators.required,Validators.pattern('/^(?=.*[0-9])[+#()0-9]+$/')
],updateOn: 'blur'
}],
查看
<input type="text"
class="form-control"
id="postalCode"
formControlName="postalCode"
maxlength="10">
<div class="error-msg"
*ngIf="driverForm.controls.postalCode.hasError('pattern')">
<span class="red-star"> patter Error </span>
</div>
解决方法
从正则表达式中删除报价
代替
'/^(?=.*[0-9])[+#()0-9]+$/'
不带引号'
使用
/^(?=.*[0-9])[+#()0-9]+$/