как проверить код страны со знаком + в угловых 7? - PullRequest
2 голосов
/ 02 мая 2019

У меня есть текстовое поле.Там пользователь может ввести код страны со знаком +.Если он вводит только цифры, мы не должны позволять ему.Он должен ввести код страны со знаком +, например: +91, +230 ... Я ищу регулярное выражение в Интернете.Я не могу найти хорошее решение в угловых 7. Пожалуйста, помогите мне с этим.

код:

ngOnInit() {

    this.registerFormGroup = this.formBuilder.group({
      clientId: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
      mobileNumber: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
      email: ['', Validators.compose([Validators.required, Validators.email, Validators.maxLength(1000)]) ],
      countryCode: ['', Validators.compose([Validators.required, Validators.pattern('/^[- +()]*[0-9][- +()0-9]*$/')]), ],
    });

    }

Ответы [ 2 ]

2 голосов
/ 02 мая 2019

Попробуйте регулярное выражение, начинающееся с + и имеющее желаемое количество цифр

let regex = /^[+]\d{12}$/; // enter the total number if digits you want

let correct = '+911234567890'
let inCorrect = '911234567890'

console.log(regex.test(correct))
console.log(regex.test(inCorrect))

Чтобы использовать \d в валидаторах угловых форм, похоже, что мы должны избежать "обратной косой черты", поэтому ваш шаблон будет выглядеть так:

Validators.pattern('^[+]\\d{12}$')

См. Пример здесь: https://stackblitz.com/edit/angular-hdctcl?file=src/app/app.component.html

В качестве альтернативы вы можете использовать:

Validators.pattern('^[+][0-9]{12}$')
1 голос
/ 02 мая 2019

Вы можете попробовать вот так

ngOnInit() {

const patternData = /^[+]\d{12}$/;

this.registerFormGroup = this.formBuilder.group({
      clientId: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
      mobileNumber: ['', Validators.compose([Validators.required, Validators.pattern('^[0-9]*$')])],
      email: ['', Validators.compose([Validators.required, Validators.email, Validators.maxLength(1000)]) ],
      countryCode: ['', Validators.compose([Validators.required, Validators.pattern(patternData)]), ],
    });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...