Me gustaría crear un REGEX para números de empleados.
El número de empleado debe ser un valor numérico SOLAMENTE y debe tener un mínimo de 8 valores. La parte posterior al guión puede ser opcional pero limitada a dos dígitos como se muestra a continuación.
12345678 12345678-12
^\d{8} => Comienza con 8 números
(-\d{2})? => tiene un final opcional de un guión seguido de 2 números
$ se asegura de que el final tenga 8 números o la parte opcional después de 8 números
function validateEmployeeNumber(number) { return (/^\d{8}(-\d{2})?$/).test(number) } console.log(validateEmployeeNumber(12345678)) // true console.log(validateEmployeeNumber("12345678")) // true console.log(validateEmployeeNumber("12345678-12")) // true console.log(validateEmployeeNumber("1234567")) // false console.log(validateEmployeeNumber("123456789")) // false console.log(validateEmployeeNumber("12345678-123")) // false console.log(validateEmployeeNumber("12345678-")) // falseNunca usé Vue, pero esto debería estar bien:
fd.field('Numeric').validators; fd.field('Numeric').validators.push({ name: 'MyCustomValidator', error: '', validate: function(value) { if ((/^\d{8}(-\d{2})?$/).test(value)) { return true; // Validation succeded } // You land here if it did not succeed this.error = 'Value is not valid'; return false; } });