首页 > 解决方案 > Angular中的域名验证器?

问题描述

我需要在我的应用程序中的一个表单字段上运行验证。为此,我正在使用ReactiveFormsModule

我的模式如下:

domainPattern = '^(((?!-))(xn--|_{1,1})?[a-z0-9-]{0,61}[a-z0-9]{1,1}\.)*(xn--)?([a-z0-9\-]{1,61}|[a-z0-9-]{1,30}\.[a-z]{2,})$';

我在我的模式验证器代码中使用上述模式,如下所示:

this.customerForm = this.formBuilder.group( {
      name: [ '' ],
      company: [ '' ],
      email: [ '', [ Validators.required, Validators.email ] ],
      domain: [ '', [ Validators.required, Validators.pattern( this.domainPattern ) ] ]
    } );

因为email它的标准运作良好。但是对于自定义域正则表达式对我不起作用。我从这里使用了正则表达式。

根据所审查的问题,似乎很难找到所有有效域的通用域名正则表达式,但我想涵盖大多数基本情况。

当前模式显示:$#$#.comabcd作为有效域。

验证器是否有任何类似于Validators.email域的常量验证器?

标签: javascriptregexangular

解决方案


推荐阅读