/* * ==================================== * Class NumberValidator * Source: packages/web/sharedjs/utils * ==================================== * */ /*globals $, _ */ var AXIS = AXIS || {}; AXIS.BaseValidator = function () { }; AXIS.BaseValidator.isValidUsername = function (username) { //Match all alphanumeric character and predefined wild characters. //Length at least 3 characters and maximum length of 14 var pattern = /^[a-zA-Z0-9_-]{3,14}$/; return pattern.test(username); }; AXIS.BaseValidator.isValidPassword = function (password) { /* Match all alphanumeric character and predefined wild characters. Password must consists of at least 3 characters and not more than 64 characters. */ var pattern = /^([a-zA-Z0-9_-]{3,64})$/; return pattern.test(password); }; AXIS.BaseValidator.isValidIpV4 = function (ip) { var pattern = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; return pattern.test(ip); }; AXIS.BaseValidator.isValidIpV6 = function (ip) { var pattern = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/; return pattern.test(ip); }; AXIS.BaseValidator.isValidPortNumber = function (portnumber) { var pattern = /^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/; return pattern.test(portnumber); }; AXIS.BaseValidator.isInRange = function (value, minValue, maxValue) { if (_.isNumber(value)) { if (_.isUndefined(minValue)) { minValue = Number.MIN_VALUE; } if (_.isUndefined(maxValue)) { maxValue = Number.MAX_VALUE; } if (_.isNumber(minValue) && _.isNumber(maxValue)) { if (value >= minValue && value <= maxValue) { return true; } } } return false; }; AXIS.BaseValidator.isIntInRange = function (value, minValue, maxValue) { if (AXIS.BaseValidator.isInt(value)) { if (AXIS.BaseValidator.isInRange(value, minValue, maxValue)) { return true; } } return false; }; AXIS.BaseValidator.isInt = function (value) { var regex = /^\d+$/; if (_.isNumber(value)) { if (regex.test(value)) { return true; } } return false; };