Pattern Validator
Description
CPF: Check Digit
Code
ecma/regexp/pattern-validator/code/pattern-validator.mjs
:
function cpf() {
// TODO
}
function cnpj() {
// TODO
}
function cep() {
// TODO
}
function octal() {
// TODO
}
export { cpf, cnpj, cep, octal };
ecma/regexp/pattern-validator/code/pattern-validator.print.mjs
:
import { validateCpf, validateCnpj, validateCep, validateOctal } from './pattern-validator.js';
// Validator Pattern
// CPF
// validating correct numerical CPF pattern
console.log(validateCpf('12345678909'));
console.log(true);
console.log(validateCpf('98765432100'));
console.log(true);
// validating correct mask CPF pattern
console.log(validateCpf('111.444.777-35'));
console.log(true);
console.log(validateCpf('111.222.333-96'));
console.log(true);
// invalidating wrong numerial pattern by size
console.log(validateCpf('123456789091'));
console.log(false);
console.log(validateCpf('9876543210'));
console.log(false);
// invalidating wrong numecial pattern by including letters
console.log(validateCpf('1234567890a'));
console.log(false);
console.log(validateCpf('9876543210X'));
console.log(false);
// invalidating wrong mask pattern
console.log(validateCpf('111444.777-35'));
console.log(false);
console.log(validateCpf('111-222.333-96'));
console.log(false);
console.log(validateCpf('111.222.33396'));
console.log(false);
// invalidating wrong mask pattern by size
console.log(validateCpf('111.444.777-353'));
console.log(false);
console.log(validateCpf('111.222.333-9'));
console.log(false);
// invalidating wrong mask pattern by including letters
console.log(validateCpf('111.444.777-3a'));
console.log(false);
console.log(validateCpf('111.a22.333-96'));
console.log(false);
// invalidating numerical pattern by check digit
console.log(validateCpf('12345678999'));
console.log(false);
console.log(validateCpf('98765432199'));
console.log(false);
// invalidating numerical pattern by check digit
console.log(validateCpf('111.444.777-99'));
console.log(false);
console.log(validateCpf('111.222.333-99'));
console.log(false);
// CEP
// validating with only numbers
console.log(isValidCep('01000100'));
console.log(true);
// validating with numbers and hyphen
console.log(isValidCep('01000-100'));
console.log(true);
// validating with numbers, dot and hyphen
console.log(isValidCep('01.000-100'));
console.log(true);
// detecting invalid code
console.log(isValidCep('a01001000'));
console.log(false);
console.log(isValidCep('01-001.000'));
console.log(false);
console.log(isValidCep('01.001000'));
console.log(false);
// Octal
// with correct digits
console.log(isValidOctal('0125'));
console.log(true);
console.log(isValidOctal('0257'));
console.log(true);
console.log(isValidOctal('0o257'));
console.log(true);
console.log(isValidOctal('0O257'));
console.log(true);
// with wrong pattern
console.log(isValidOctal('125'));
console.log(false);
console.log(isValidOctal('0x257'));
console.log(false);
console.log(isValidOctal('0X25F'));
console.log(false);
console.log(isValidOctal('0b010'));
console.log(false);
console.log(isValidOctal('0B011'));
console.log(false);
// with wrong digits
console.log(isValidOctal('025F'));
console.log(false);
console.log(isValidOctal('0o259'));
console.log(false);
console.log(isValidOctal('0O258'));
console.log(false);