@inkline/inkline
Version:
Inkline is the intuitive UI Components library that gives you a developer-friendly foundation for building high-quality, accessible, and customizable Vue.js 3 Design Systems.
19 lines (18 loc) • 593 B
JavaScript
import { alphanumeric as validators } from "@inkline/inkline/validation/validators/constants";
export const alphanumeric = (rawValue, options) => {
const locale = options.locale || "en-US";
const process = (v) => {
let value = String(v);
if (options.allowDashes) {
value = value.replace(/-/g, "");
}
if (options.allowSpaces) {
value = value.replace(/ /g, "");
}
return value;
};
if (rawValue?.constructor === Array) {
return rawValue.every((v) => validators[locale].test(process(v)));
}
return validators[locale].test(process(rawValue));
};