2

我有一个使用自定义验证器的表单组:

return this.register = this.fb.group({
        username: ['', Validators.required, /* this.validateUsername()*/],
        email: ['', Validators.email, /*  this.validateUsername()*/],
        password: ['',
            [
                Validators.required,
                Validators.maxLength(50),
                Validators.minLength(8),
                Validators.pattern('^[a-zA-Z0-9!@#$%^&*()]+$'),
            ]
        ]
    });

我正在尝试实现验证器模式,但它不起作用,请有人帮忙。

4

3 回答 3

3

确保/像这样在正则表达式字符串的开头和结尾添加一个。

Validators.pattern(/^[a-zA-Z0-9!@#$%^&*()]+$/)
于 2018-06-13T05:27:44.537 回答
1

This works for me

new RegExp('^(?=.{10,}$)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()])').test('sssBBBB99!')
于 2019-12-04T01:26:44.050 回答
0

validators.pattern 允许所有特殊字符

要查找任何特殊字符:

[ -\/:-@\[-\`{-~]

要找到任何计数的最小值和最大值:

(?=.*[ -\/:-@\[-\`{-~]{1,})
于 2021-11-03T10:41:54.070 回答