diff --git a/ajax/libs/validator/3.12.0/validator.js b/ajax/libs/validator/3.12.0/validator.js new file mode 100755 index 000000000..689ed1997 --- /dev/null +++ b/ajax/libs/validator/3.12.0/validator.js @@ -0,0 +1,402 @@ +/*! + * Copyright (c) 2014 Chris O'Hara + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +(function (name, definition) { + if (typeof module !== 'undefined') { + module.exports = definition(); + } else if (typeof define === 'function' && typeof define.amd === 'object') { + define(definition); + } else { + this[name] = definition(); + } +})('validator', function (validator) { + + 'use strict'; + + validator = { version: '3.12.0' }; + + var email = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i; + + var creditCard = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/; + + var isbn10Maybe = /^(?:[0-9]{9}X|[0-9]{10})$/ + , isbn13Maybe = /^(?:[0-9]{13})$/; + + var ipv4Maybe = /^(\d?\d?\d)\.(\d?\d?\d)\.(\d?\d?\d)\.(\d?\d?\d)$/ + , ipv6 = /^::|^::1|^([a-fA-F0-9]{1,4}::?){1,7}([a-fA-F0-9]{1,4})$/; + + var uuid = { + '3': /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i + , '4': /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i + , '5': /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i + , all: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i + }; + + var alpha = /^[a-zA-Z]+$/ + , alphanumeric = /^[a-zA-Z0-9]+$/ + , numeric = /^-?[0-9]+$/ + , int = /^(?:-?(?:0|[1-9][0-9]*))$/ + , float = /^(?:-?(?:[0-9]+))?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/ + , hexadecimal = /^[0-9a-fA-F]+$/ + , hexcolor = /^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/; + + var ascii = /^[\x00-\x7F]+$/ + , multibyte = /[^\x00-\x7F]/ + , fullWidth = /[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/ + , halfWidth = /[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/; + + var surrogatePair = /[\uD800-\uDBFF][\uDC00-\uDFFF]/; + + validator.extend = function (name, fn) { + validator[name] = function () { + var args = Array.prototype.slice.call(arguments); + args[0] = validator.toString(args[0]); + return fn.apply(validator, args); + }; + }; + + //Right before exporting the validator object, pass each of the builtins + //through extend() so that their first argument is coerced to a string + validator.init = function () { + for (var name in validator) { + if (typeof validator[name] !== 'function' || name === 'toString' || + name === 'toDate' || name === 'extend' || name === 'init') { + continue; + } + validator.extend(name, validator[name]); + } + }; + + validator.toString = function (input) { + if (typeof input === 'object' && input !== null && input.toString) { + input = input.toString(); + } else if (input === null || typeof input === 'undefined' || (isNaN(input) && !input.length)) { + input = ''; + } else if (typeof input !== 'string') { + input += ''; + } + return input; + }; + + validator.toDate = function (date) { + if (Object.prototype.toString.call(date) === '[object Date]') { + return date; + } + date = Date.parse(date); + return !isNaN(date) ? new Date(date) : null; + }; + + validator.toFloat = function (str) { + return parseFloat(str); + }; + + validator.toInt = function (str, radix) { + return parseInt(str, radix || 10); + }; + + validator.toBoolean = function (str, strict) { + if (strict) { + return str === '1' || str === 'true'; + } + return str !== '0' && str !== 'false' && str !== ''; + }; + + validator.equals = function (str, comparison) { + return str === validator.toString(comparison); + }; + + validator.contains = function (str, elem) { + return str.indexOf(validator.toString(elem)) >= 0; + }; + + validator.matches = function (str, pattern, modifiers) { + if (Object.prototype.toString.call(pattern) !== '[object RegExp]') { + pattern = new RegExp(pattern, modifiers); + } + return pattern.test(str); + }; + + validator.isEmail = function (str) { + return email.test(str); + }; + + var default_url_options = { + protocols: [ 'http', 'https', 'ftp' ] + , require_tld: true + , require_protocol: false + }; + + validator.isURL = function (str, options) { + if (!str || str.length >= 2083) { + return false; + } + options = merge(options, default_url_options); + var url = new RegExp('^(?!mailto:)(?:(?:' + options.protocols.join('|') + ')://)' + (options.require_protocol ? '' : '?') + '(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:www.)?xn--)?(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))' + (options.require_tld ? '' : '?') + ')|localhost)(?::(\\d{1,5}))?(?:(?:/|\\?|#)[^\\s]*)?$', 'i'); + var match = str.match(url) + , port = match ? match[1] : 0; + return match && (!port || (port > 0 && port <= 65535)); + }; + + validator.isIP = function (str, version) { + version = validator.toString(version); + if (!version) { + return validator.isIP(str, 4) || validator.isIP(str, 6); + } else if (version === '4') { + if (!ipv4Maybe.test(str)) { + return false; + } + var parts = str.split('.').sort(); + return parts[3] <= 255; + } + return version === '6' && ipv6.test(str); + }; + + validator.isAlpha = function (str) { + return alpha.test(str); + }; + + validator.isAlphanumeric = function (str) { + return alphanumeric.test(str); + }; + + validator.isNumeric = function (str) { + return numeric.test(str); + }; + + validator.isHexadecimal = function (str) { + return hexadecimal.test(str); + }; + + validator.isHexColor = function (str) { + return hexcolor.test(str); + }; + + validator.isLowercase = function (str) { + return str === str.toLowerCase(); + }; + + validator.isUppercase = function (str) { + return str === str.toUpperCase(); + }; + + validator.isInt = function (str) { + return int.test(str); + }; + + validator.isFloat = function (str) { + return str !== '' && float.test(str); + }; + + validator.isDivisibleBy = function (str, num) { + return validator.toFloat(str) % validator.toInt(num) === 0; + }; + + validator.isNull = function (str) { + return str.length === 0; + }; + + validator.isLength = function (str, min, max) { + var surrogatePairs = str.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g) || []; + var len = str.length - surrogatePairs.length; + return len >= min && (typeof max === 'undefined' || len <= max); + }; + + validator.isUUID = function (str, version) { + var pattern = uuid[version ? version : 'all']; + return pattern && pattern.test(str); + }; + + validator.isDate = function (str) { + return !isNaN(Date.parse(str)); + }; + + validator.isAfter = function (str, date) { + var comparison = validator.toDate(date || new Date()) + , original = validator.toDate(str); + return original && comparison && original > comparison; + }; + + validator.isBefore = function (str, date) { + var comparison = validator.toDate(date || new Date()) + , original = validator.toDate(str); + return original && comparison && original < comparison; + }; + + validator.isIn = function (str, options) { + if (!options || typeof options.indexOf !== 'function') { + return false; + } + if (Object.prototype.toString.call(options) === '[object Array]') { + var array = []; + for (var i = 0, len = options.length; i < len; i++) { + array[i] = validator.toString(options[i]); + } + options = array; + } + return options.indexOf(str) >= 0; + }; + + validator.isCreditCard = function (str) { + var sanitized = str.replace(/[^0-9]+/g, ''); + if (!creditCard.test(sanitized)) { + return false; + } + var sum = 0, digit, tmpNum, shouldDouble; + for (var i = sanitized.length - 1; i >= 0; i--) { + digit = sanitized.substring(i, (i + 1)); + tmpNum = parseInt(digit, 10); + if (shouldDouble) { + tmpNum *= 2; + if (tmpNum >= 10) { + sum += ((tmpNum % 10) + 1); + } else { + sum += tmpNum; + } + } else { + sum += tmpNum; + } + shouldDouble = !shouldDouble; + } + return (sum % 10) === 0 ? sanitized : false; + }; + + validator.isISBN = function (str, version) { + version = validator.toString(version); + if (!version) { + return validator.isISBN(str, 10) || validator.isISBN(str, 13); + } + var sanitized = str.replace(/[\s-]+/g, '') + , checksum = 0, i; + if (version === '10') { + if (!isbn10Maybe.test(sanitized)) { + return false; + } + for (i = 0; i < 9; i++) { + checksum += (i + 1) * sanitized.charAt(i); + } + if (sanitized.charAt(9) === 'X') { + checksum += 10 * 10; + } else { + checksum += 10 * sanitized.charAt(9); + } + if ((checksum % 11) === 0) { + return sanitized; + } + } else if (version === '13') { + if (!isbn13Maybe.test(sanitized)) { + return false; + } + var factor = [ 1, 3 ]; + for (i = 0; i < 12; i++) { + checksum += factor[i % 2] * sanitized.charAt(i); + } + if (sanitized.charAt(12) - ((10 - (checksum % 10)) % 10) === 0) { + return sanitized; + } + } + return false; + }; + + validator.isJSON = function (str) { + try { + JSON.parse(str); + } catch (e) { + return false; + } + return true; + }; + + validator.isMultibyte = function (str) { + return multibyte.test(str); + }; + + validator.isAscii = function (str) { + return ascii.test(str); + }; + + validator.isFullWidth = function (str) { + return fullWidth.test(str); + }; + + validator.isHalfWidth = function (str) { + return halfWidth.test(str); + }; + + validator.isVariableWidth = function (str) { + return fullWidth.test(str) && halfWidth.test(str); + }; + + validator.isSurrogatePair = function (str) { + return surrogatePair.test(str); + }; + + validator.ltrim = function (str, chars) { + var pattern = chars ? new RegExp('^[' + chars + ']+', 'g') : /^\s+/g; + return str.replace(pattern, ''); + }; + + validator.rtrim = function (str, chars) { + var pattern = chars ? new RegExp('[' + chars + ']+$', 'g') : /\s+$/g; + return str.replace(pattern, ''); + }; + + validator.trim = function (str, chars) { + var pattern = chars ? new RegExp('^[' + chars + ']+|[' + chars + ']+$', 'g') : /^\s+|\s+$/g; + return str.replace(pattern, ''); + }; + + validator.escape = function (str) { + return (str.replace(/&/g, '&') + .replace(/"/g, '"') + .replace(//g, '>')); + }; + + validator.stripLow = function (str, keep_new_lines) { + var chars = keep_new_lines ? '\x00-\x09\x0B\x0C\x0E-\x1F\x7F' : '\x00-\x1F\x7F'; + return validator.blacklist(str, chars); + }; + + validator.whitelist = function (str, chars) { + return str.replace(new RegExp('[^' + chars + ']+', 'g'), ''); + }; + + validator.blacklist = function (str, chars) { + return str.replace(new RegExp('[' + chars + ']+', 'g'), ''); + }; + + function merge(obj, defaults) { + obj = obj || {}; + for (var key in defaults) { + if (typeof obj[key] === 'undefined') { + obj[key] = defaults[key]; + } + } + return obj; + } + + validator.init(); + + return validator; + +}); diff --git a/ajax/libs/validator/3.12.0/validator.min.js b/ajax/libs/validator/3.12.0/validator.min.js new file mode 100755 index 000000000..84a4717c8 --- /dev/null +++ b/ajax/libs/validator/3.12.0/validator.min.js @@ -0,0 +1,23 @@ +/*! + * Copyright (c) 2014 Chris O'Hara + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +!function(t,u){"undefined"!=typeof module?module.exports=u():"function"==typeof define&&"object"==typeof define.amd?define(u):this[t]=u()}("validator",function(t){"use strict";function u(t,u){t=t||{};for(var e in u)"undefined"==typeof t[e]&&(t[e]=u[e]);return t}t={version:"3.12.0"};var e=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,n=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,r=/^(?:[0-9]{9}X|[0-9]{10})$/,F=/^(?:[0-9]{13})$/,i=/^(\d?\d?\d)\.(\d?\d?\d)\.(\d?\d?\d)\.(\d?\d?\d)$/,o=/^::|^::1|^([a-fA-F0-9]{1,4}::?){1,7}([a-fA-F0-9]{1,4})$/,a={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i},f=/^[a-zA-Z]+$/,c=/^[a-zA-Z0-9]+$/,s=/^-?[0-9]+$/,l=/^(?:-?(?:0|[1-9][0-9]*))$/,d=/^(?:-?(?:[0-9]+))?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/,p=/^[0-9a-fA-F]+$/,D=/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,x=/^[\x00-\x7F]+$/,A=/[^\x00-\x7F]/,g=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/,E=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/,h=/[\uD800-\uDBFF][\uDC00-\uDFFF]/;t.extend=function(u,e){t[u]=function(){var u=Array.prototype.slice.call(arguments);return u[0]=t.toString(u[0]),e.apply(t,u)}},t.init=function(){for(var u in t)"function"==typeof t[u]&&"toString"!==u&&"toDate"!==u&&"extend"!==u&&"init"!==u&&t.extend(u,t[u])},t.toString=function(t){return"object"==typeof t&&null!==t&&t.toString?t=t.toString():null===t||"undefined"==typeof t||isNaN(t)&&!t.length?t="":"string"!=typeof t&&(t+=""),t},t.toDate=function(t){return"[object Date]"===Object.prototype.toString.call(t)?t:(t=Date.parse(t),isNaN(t)?null:new Date(t))},t.toFloat=function(t){return parseFloat(t)},t.toInt=function(t,u){return parseInt(t,u||10)},t.toBoolean=function(t,u){return u?"1"===t||"true"===t:"0"!==t&&"false"!==t&&""!==t},t.equals=function(u,e){return u===t.toString(e)},t.contains=function(u,e){return u.indexOf(t.toString(e))>=0},t.matches=function(t,u,e){return"[object RegExp]"!==Object.prototype.toString.call(u)&&(u=new RegExp(u,e)),u.test(t)},t.isEmail=function(t){return e.test(t)};var $={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1};return t.isURL=function(t,e){if(!t||t.length>=2083)return!1;e=u(e,$);var n=new RegExp("^(?!mailto:)(?:(?:"+e.protocols.join("|")+")://)"+(e.require_protocol?"":"?")+"(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:www.)?xn--)?(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))"+(e.require_tld?"":"?")+")|localhost)(?::(\\d{1,5}))?(?:(?:/|\\?|#)[^\\s]*)?$","i"),r=t.match(n),F=r?r[1]:0;return r&&(!F||F>0&&65535>=F)},t.isIP=function(u,e){if(e=t.toString(e),!e)return t.isIP(u,4)||t.isIP(u,6);if("4"===e){if(!i.test(u))return!1;var n=u.split(".").sort();return n[3]<=255}return"6"===e&&o.test(u)},t.isAlpha=function(t){return f.test(t)},t.isAlphanumeric=function(t){return c.test(t)},t.isNumeric=function(t){return s.test(t)},t.isHexadecimal=function(t){return p.test(t)},t.isHexColor=function(t){return D.test(t)},t.isLowercase=function(t){return t===t.toLowerCase()},t.isUppercase=function(t){return t===t.toUpperCase()},t.isInt=function(t){return l.test(t)},t.isFloat=function(t){return""!==t&&d.test(t)},t.isDivisibleBy=function(u,e){return t.toFloat(u)%t.toInt(e)===0},t.isNull=function(t){return 0===t.length},t.isLength=function(t,u,e){var n=t.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],r=t.length-n.length;return r>=u&&("undefined"==typeof e||e>=r)},t.isUUID=function(t,u){var e=a[u?u:"all"];return e&&e.test(t)},t.isDate=function(t){return!isNaN(Date.parse(t))},t.isAfter=function(u,e){var n=t.toDate(e||new Date),r=t.toDate(u);return r&&n&&r>n},t.isBefore=function(u,e){var n=t.toDate(e||new Date),r=t.toDate(u);return r&&n&&n>r},t.isIn=function(u,e){if(!e||"function"!=typeof e.indexOf)return!1;if("[object Array]"===Object.prototype.toString.call(e)){for(var n=[],r=0,F=e.length;F>r;r++)n[r]=t.toString(e[r]);e=n}return e.indexOf(u)>=0},t.isCreditCard=function(t){var u=t.replace(/[^0-9]+/g,"");if(!n.test(u))return!1;for(var e,r,F,i=0,o=u.length-1;o>=0;o--)e=u.substring(o,o+1),r=parseInt(e,10),F?(r*=2,i+=r>=10?r%10+1:r):i+=r,F=!F;return i%10===0?u:!1},t.isISBN=function(u,e){if(e=t.toString(e),!e)return t.isISBN(u,10)||t.isISBN(u,13);var n,i=u.replace(/[\s-]+/g,""),o=0;if("10"===e){if(!r.test(i))return!1;for(n=0;9>n;n++)o+=(n+1)*i.charAt(n);if(o+="X"===i.charAt(9)?100:10*i.charAt(9),o%11===0)return i}else if("13"===e){if(!F.test(i))return!1;var a=[1,3];for(n=0;12>n;n++)o+=a[n%2]*i.charAt(n);if(i.charAt(12)-(10-o%10)%10===0)return i}return!1},t.isJSON=function(t){try{JSON.parse(t)}catch(u){return!1}return!0},t.isMultibyte=function(t){return A.test(t)},t.isAscii=function(t){return x.test(t)},t.isFullWidth=function(t){return g.test(t)},t.isHalfWidth=function(t){return E.test(t)},t.isVariableWidth=function(t){return g.test(t)&&E.test(t)},t.isSurrogatePair=function(t){return h.test(t)},t.ltrim=function(t,u){var e=u?new RegExp("^["+u+"]+","g"):/^\s+/g;return t.replace(e,"")},t.rtrim=function(t,u){var e=u?new RegExp("["+u+"]+$","g"):/\s+$/g;return t.replace(e,"")},t.trim=function(t,u){var e=u?new RegExp("^["+u+"]+|["+u+"]+$","g"):/^\s+|\s+$/g;return t.replace(e,"")},t.escape=function(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(//g,">")},t.stripLow=function(u,e){var n=e?"\x00- \f-":"\x00-";return t.blacklist(u,n)},t.whitelist=function(t,u){return t.replace(new RegExp("[^"+u+"]+","g"),"")},t.blacklist=function(t,u){return t.replace(new RegExp("["+u+"]+","g"),"")},t.init(),t}); \ No newline at end of file diff --git a/ajax/libs/validator/package.json b/ajax/libs/validator/package.json new file mode 100644 index 000000000..1b682b3de --- /dev/null +++ b/ajax/libs/validator/package.json @@ -0,0 +1,22 @@ +{ + "name": "validator", + "npmName": "validator", + "filename": "validator.min.js", + "version": "3.12.0", + "description": "A library of string validators and sanitizers.", + "homepage": "https://github.com/chriso/validator.js", + "keywords": [ + "validator" + ], + "maintainers": [ + { + "name": "Chris O'Hara " + } + ], + "repositories": [ + { + "type": "git", + "url": "https://github.com/chriso/validator.js.git" + } + ] +}