I would like to create a REGEX for Employee Numbers.
The employee number must be a numerical value ONLY and must have a minimum of 8 values. The part after the hyphen can be optional but limited to two digits as below.
12345678 12345678-12
^\d{8} => Starts with 8 numbers
(-\d{2})? => has optional ending of a dash followed by 2 numbers
$ makes sure that the ending has to be either 8 numbers or the optional part after 8 numbers
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-")) // false
I never used Vue, but this should be fine:
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;
}
});