UNPKG

im-angular-validators

Version:

This library will help you with lots of already written mostly used validators for Angular 2+ applications.

16 lines 3.12 kB
import { IMCountryConfigurations } from '../constants/country-configurations.constant'; export const IMPhoneNumberValidator = (country) => { const config = IMCountryConfigurations.find(item => item.country === country); const regexp = new RegExp(`^(?:${config.phoneNumber.callingCode})[0-9]{${config.phoneNumber.afterCodeNumbersLength}}$`); return (control) => { if (control.value && !regexp.test(control.value)) { return { phoneNumberError: { isInvalid: true, countryName: config.countryName } }; } }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdmFsaWRhdG9ycy9zcmMvbGliL3ZhbGlkYXRvcnMvcGhvbmUtbnVtYmVyLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUtyRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQXNCLEVBQWUsRUFBRTtJQUM1RSxNQUFNLE1BQU0sR0FBNkIsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQztJQUN4RyxNQUFNLE1BQU0sR0FBVyxJQUFJLE1BQU0sQ0FBQyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBVyxVQUFVLE1BQU0sQ0FBQyxXQUFXLENBQUMsc0JBQXNCLElBQUksQ0FBQyxDQUFDO0lBRWhJLE9BQU8sQ0FBQyxPQUF3QixFQUFtRCxFQUFFO1FBQ25GLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hELE9BQU87Z0JBQ0wsZ0JBQWdCLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztpQkFDaEM7YUFDRixDQUFDO1NBQ0g7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtJTUNvdW50cnlDb25maWd1cmF0aW9uc30gZnJvbSAnLi4vY29uc3RhbnRzL2NvdW50cnktY29uZmlndXJhdGlvbnMuY29uc3RhbnQnO1xyXG5pbXBvcnQge0lNQ291bnRyeUNvbmZpZ0ludGVyZmFjZX0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb3VudHJ5LWNvbmZpZy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0lNUGhvbmVOdW1iZXJFcnJvckludGVyZmFjZX0gZnJvbSAnLi4vaW50ZXJmYWNlcy9waG9uZS1udW1iZXItZXJyb3IuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtJTUNvdW50cnlFbnVtfSBmcm9tICcuLi9lbnVtcy9jb3VudHJ5LmVudW0nO1xyXG5cclxuZXhwb3J0IGNvbnN0IElNUGhvbmVOdW1iZXJWYWxpZGF0b3IgPSAoY291bnRyeTogSU1Db3VudHJ5RW51bSk6IFZhbGlkYXRvckZuID0+IHtcclxuICBjb25zdCBjb25maWc6IElNQ291bnRyeUNvbmZpZ0ludGVyZmFjZSA9IElNQ291bnRyeUNvbmZpZ3VyYXRpb25zLmZpbmQoaXRlbSA9PiBpdGVtLmNvdW50cnkgPT09IGNvdW50cnkpO1xyXG4gIGNvbnN0IHJlZ2V4cDogUmVnRXhwID0gbmV3IFJlZ0V4cChgXig/OiR7Y29uZmlnLnBob25lTnVtYmVyLmNhbGxpbmdDb2RlfSlbMC05XXske2NvbmZpZy5waG9uZU51bWJlci5hZnRlckNvZGVOdW1iZXJzTGVuZ3RofX0kYCk7XHJcblxyXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKToge3Bob25lTnVtYmVyRXJyb3I6IElNUGhvbmVOdW1iZXJFcnJvckludGVyZmFjZX0gPT4ge1xyXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgJiYgIXJlZ2V4cC50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgcGhvbmVOdW1iZXJFcnJvcjoge1xyXG4gICAgICAgICAgaXNJbnZhbGlkOiB0cnVlLFxyXG4gICAgICAgICAgY291bnRyeU5hbWU6IGNvbmZpZy5jb3VudHJ5TmFtZVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH1cclxuICB9O1xyXG59O1xyXG4iXX0=