PATH:
opt
/
bitninja-dispatcher
/
node_modules
/
validator
/
lib
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isCurrency; var _merge = _interopRequireDefault(require("./util/merge")); var _assertString = _interopRequireDefault(require("./util/assertString")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function currencyRegex(options) { var decimal_digits = "\\d{".concat(options.digits_after_decimal[0], "}"); options.digits_after_decimal.forEach(function (digit, index) { if (index !== 0) decimal_digits = "".concat(decimal_digits, "|\\d{").concat(digit, "}"); }); var symbol = "(".concat(options.symbol.replace(/\W/, function (m) { return "\\".concat(m); }), ")").concat(options.require_symbol ? '' : '?'), negative = '-?', whole_dollar_amount_without_sep = '[1-9]\\d*', whole_dollar_amount_with_sep = "[1-9]\\d{0,2}(\\".concat(options.thousands_separator, "\\d{3})*"), valid_whole_dollar_amounts = ['0', whole_dollar_amount_without_sep, whole_dollar_amount_with_sep], whole_dollar_amount = "(".concat(valid_whole_dollar_amounts.join('|'), ")?"), decimal_amount = "(\\".concat(options.decimal_separator, "(").concat(decimal_digits, "))").concat(options.require_decimal ? '' : '?'); var pattern = whole_dollar_amount + (options.allow_decimal || options.require_decimal ? decimal_amount : ''); // default is negative sign before symbol, but there are two other options (besides parens) if (options.allow_negatives && !options.parens_for_negatives) { if (options.negative_sign_after_digits) { pattern += negative; } else if (options.negative_sign_before_digits) { pattern = negative + pattern; } } // South African Rand, for example, uses R 123 (space) and R-123 (no space) if (options.allow_negative_sign_placeholder) { pattern = "( (?!\\-))?".concat(pattern); } else if (options.allow_space_after_symbol) { pattern = " ?".concat(pattern); } else if (options.allow_space_after_digits) { pattern += '( (?!$))?'; } if (options.symbol_after_digits) { pattern += symbol; } else { pattern = symbol + pattern; } if (options.allow_negatives) { if (options.parens_for_negatives) { pattern = "(\\(".concat(pattern, "\\)|").concat(pattern, ")"); } else if (!(options.negative_sign_before_digits || options.negative_sign_after_digits)) { pattern = negative + pattern; } } // ensure there's a dollar and/or decimal amount, and that // it doesn't start with a space or a negative sign followed by a space return new RegExp("^(?!-? )(?=.*\\d)".concat(pattern, "$")); } var default_currency_options = { symbol: '$', require_symbol: false, allow_space_after_symbol: false, symbol_after_digits: false, allow_negatives: true, parens_for_negatives: false, negative_sign_before_digits: false, negative_sign_after_digits: false, allow_negative_sign_placeholder: false, thousands_separator: ',', decimal_separator: '.', allow_decimal: true, require_decimal: false, digits_after_decimal: [2], allow_space_after_digits: false }; function isCurrency(str, options) { (0, _assertString.default)(str); options = (0, _merge.default)(options, default_currency_options); return currencyRegex(options).test(str); } module.exports = exports.default; module.exports.default = exports.default;
[-] isISO31661Alpha3.js
[edit]
[-] isBtcAddress.js
[edit]
[-] isBoolean.js
[edit]
[-] isHexColor.js
[edit]
[-] equals.js
[edit]
[-] isUppercase.js
[edit]
[-] isLocale.js
[edit]
[-] toInt.js
[edit]
[-] toDate.js
[edit]
[-] isIn.js
[edit]
[-] isDivisibleBy.js
[edit]
[-] isEthereumAddress.js
[edit]
[-] isMagnetURI.js
[edit]
[-] toBoolean.js
[edit]
[-] isHexadecimal.js
[edit]
[-] isVAT.js
[edit]
[-] isHSL.js
[edit]
[+]
..
[-] isMobilePhone.js
[edit]
[-] isMD5.js
[edit]
[-] stripLow.js
[edit]
[-] contains.js
[edit]
[-] isMimeType.js
[edit]
[-] isIdentityCard.js
[edit]
[-] blacklist.js
[edit]
[-] isJSON.js
[edit]
[-] isHash.js
[edit]
[-] isPassportNumber.js
[edit]
[-] isURL.js
[edit]
[-] isISO31661Alpha2.js
[edit]
[-] toFloat.js
[edit]
[-] isNumeric.js
[edit]
[-] isVariableWidth.js
[edit]
[-] isUUID.js
[edit]
[-] isBIC.js
[edit]
[-] isDate.js
[edit]
[-] isIPRange.js
[edit]
[-] isStrongPassword.js
[edit]
[-] unescape.js
[edit]
[-] isISRC.js
[edit]
[-] isSemVer.js
[edit]
[-] isInt.js
[edit]
[-] isEAN.js
[edit]
[-] alpha.js
[edit]
[-] isISSN.js
[edit]
[-] rtrim.js
[edit]
[-] isPostalCode.js
[edit]
[-] isSurrogatePair.js
[edit]
[-] isMongoId.js
[edit]
[-] isBase58.js
[edit]
[-] isCreditCard.js
[edit]
[-] isIMEI.js
[edit]
[-] isFullWidth.js
[edit]
[-] isISO8601.js
[edit]
[-] isBase64.js
[edit]
[-] isHalfWidth.js
[edit]
[-] isIBAN.js
[edit]
[-] isByteLength.js
[edit]
[-] isDataURI.js
[edit]
[-] isAfter.js
[edit]
[-] isISIN.js
[edit]
[-] normalizeEmail.js
[edit]
[-] isAlpha.js
[edit]
[-] isBefore.js
[edit]
[+]
util
[-] isCurrency.js
[edit]
[-] isRFC3339.js
[edit]
[-] isJWT.js
[edit]
[-] isWhitelisted.js
[edit]
[-] isMACAddress.js
[edit]
[-] isISO4217.js
[edit]
[-] isOctal.js
[edit]
[-] ltrim.js
[edit]
[-] isLength.js
[edit]
[-] whitelist.js
[edit]
[-] isDecimal.js
[edit]
[-] isRgbColor.js
[edit]
[-] isLatLong.js
[edit]
[-] isPort.js
[edit]
[-] isMultibyte.js
[edit]
[-] matches.js
[edit]
[-] isTaxID.js
[edit]
[-] isBase32.js
[edit]
[-] trim.js
[edit]
[-] isAlphanumeric.js
[edit]
[-] isAscii.js
[edit]
[-] isSlug.js
[edit]
[-] isEmpty.js
[edit]
[-] escape.js
[edit]
[-] isEmail.js
[edit]
[-] isLowercase.js
[edit]
[-] isFloat.js
[edit]
[-] isISBN.js
[edit]
[-] isIP.js
[edit]
[-] isFQDN.js
[edit]
[-] isLicensePlate.js
[edit]