UNPKG

@seges/angular-validators

Version:

TypeScript 1.8.10

35 lines (28 loc) 1.01 kB
import { IValidator } from "../IValidator"; export class IntegerValidator implements IValidator<void> { private regex: RegExp; constructor() { this.regex = new RegExp("^[0-9]*$"); } /** * Validate input as integer. * If value is parseable to integer return true. Otherwise return false. */ isValid(value: string | number): boolean { if (!value) { return false; } if (typeof value === "string") { return this.regex.test(value); } // Number.isInteger() polyfill implementation from MDN // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger#Polyfill if (typeof value === "number") { return isFinite(value) && value > -9007199254740992 && value < 9007199254740992 && Math.floor(value) === value; } return false; } }